glext.pp 157 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843
  1. {
  2. $Id$
  3. Adaption of the delphi3d.net OpenGL units to FreePascal
  4. Sebastian Guenther ([email protected]) in 2002
  5. These units are free to use
  6. }
  7. {$MACRO ON}
  8. {$MODE Delphi}
  9. {$IFDEF Win32}
  10. {$DEFINE extdecl:=stdcall }
  11. {$ELSE}
  12. {$DEFINE extdecl:=cdecl }
  13. {$ENDIF}
  14. unit GLext;
  15. {******************************************************************************}
  16. { OpenGL Extension Header for Delphi. }
  17. { Written by Tom Nuydens ([email protected]) }
  18. { For updates, visit http://www.delphi3d.net }
  19. { }
  20. { This unit declares constants and function prototypes for all OpenGL }
  21. { extensions known to man. }
  22. { }
  23. { To use an extension, call glext_ExtensionSupported() to find out if that }
  24. { extension is supported by the user's ICD. If so, use wglGetProcAddress() to }
  25. { load the extension's new functions (if any). The functions have already been }
  26. { declared in this unit, so there is no need to copy/paste prototypes from the }
  27. { extension specs or declare the function pointers yourself. The same goes for }
  28. { constants that are introduced by the extension. }
  29. { }
  30. { If you find typos or other mistakes in this unit, please let me know and I }
  31. { will correct them ASAP. Also, if you should come across an extension that }
  32. { isn't yet included in this unit, tell me and I will add it. }
  33. {******************************************************************************}
  34. { REVISIONS:
  35. - June 8, 2001 : WGL_EXT_swap_control
  36. wglAllocateMemoryNV, wglFreeMemoryNV (for VAR)
  37. - June 13, 2001 : Forgot to add GL_ prefix to the NV_fence tokens (?).
  38. - June 22, 2001 : Fixed typo in glGenProgramsNV() declaration.
  39. - August 14, 2001 : Added WGL_ARB_multisample.
  40. - August 20, 2001 : ARB_texture_env_combine
  41. ARB_texture_env_dot3.
  42. - September 10, 2001 : SGIX_texture_coordinate_clamp
  43. OML_interlace
  44. OML_subsample
  45. OML_resample
  46. WGL_OML_sync_control
  47. NV_copy_depth_to_color
  48. ATI_envmap_bumpmap
  49. ATI_fragment_shader
  50. ATI_pn_triangles
  51. ATI_vertex_array_object
  52. EXT_vertex_shader
  53. ATI_vertex_streams
  54. - September 14, 2001 : OpenGL 1.3
  55. - February 25, 2002 : NV_depth_clamp
  56. NV_multisample_filter_hint
  57. NV_occlusion_query
  58. NV_point_sprite
  59. NV_texture_shader3
  60. WGL_ARB_render_texture
  61. WGL_NV_render_depth_texture
  62. WGL_NV_render_texture_rectangle
  63. Added optional "searchIn" argument to
  64. glext_ExtensionSupported() function. This allows
  65. you to manually specify a string in which to search
  66. for an extension name. The intended use for this is
  67. to check for WGL extensions, which have a separate
  68. extension string.
  69. - March 13, 2002 : Fixed some omissions in the OpenGL 1.2 section
  70. - April 19, 2002 : Fixed typos in WGL_ARB_pixel_format
  71. - May 17, 2002 : ARB_vertex_blend
  72. ARB_matrix_palette
  73. ARB_texture_mirrored_repeat
  74. ARB_depth_texture
  75. ARB_shadow
  76. ARB_shadow_ambient
  77. ARB_window_pos
  78. - August 29, 2002 : ARB_vertex_program
  79. EXT_stencil_two_side
  80. NV_element_array
  81. NV_float_buffer
  82. NV_fragment_program
  83. }
  84. interface
  85. uses
  86. SysUtils,
  87. {$IFDEF Win32}
  88. Windows,
  89. {$ELSE}
  90. DLLFuncs,
  91. {$ENDIF}
  92. GL;
  93. {******************************************************************************}
  94. {$IFDEF Win32}
  95. // Not declared in Windows.pas.
  96. function wglGetProcAddress(proc: PChar): Pointer; extdecl; external 'OpenGL32.dll';
  97. {$ELSE}
  98. function wglGetProcAddress(proc: PChar): Pointer;
  99. {$ENDIF}
  100. // Check if the given extension is supported. Case sensitive!
  101. function glext_ExtensionSupported(const extension: String): Boolean;
  102. function glext_ExtensionSupported(const extension: String; const searchIn: String): Boolean;
  103. {******************************************************************************}
  104. //*** OpenGL 1.2
  105. const
  106. GL_CONSTANT_COLOR = $8001;
  107. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  108. GL_CONSTANT_ALPHA = $8003;
  109. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  110. GL_BLEND_COLOR = $8005;
  111. GL_FUNC_ADD = $8006;
  112. GL_MIN = $8007;
  113. GL_MAX = $8008;
  114. GL_BLEND_EQUATION = $8009;
  115. GL_FUNC_SUBTRACT = $800A;
  116. GL_FUNC_REVERSE_SUBTRACT = $800B;
  117. GL_CONVOLUTION_1D = $8010;
  118. GL_CONVOLUTION_2D = $8011;
  119. GL_SEPARABLE_2D = $8012;
  120. GL_CONVOLUTION_BORDER_MODE = $8013;
  121. GL_CONVOLUTION_FILTER_SCALE = $8014;
  122. GL_CONVOLUTION_FILTER_BIAS = $8015;
  123. GL_REDUCE = $8016;
  124. GL_CONVOLUTION_FORMAT = $8017;
  125. GL_CONVOLUTION_WIDTH = $8018;
  126. GL_CONVOLUTION_HEIGHT = $8019;
  127. GL_MAX_CONVOLUTION_WIDTH = $801A;
  128. GL_MAX_CONVOLUTION_HEIGHT = $801B;
  129. GL_POST_CONVOLUTION_RED_SCALE = $801C;
  130. GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
  131. GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
  132. GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
  133. GL_POST_CONVOLUTION_RED_BIAS = $8020;
  134. GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
  135. GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
  136. GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
  137. GL_HISTOGRAM = $8024;
  138. GL_PROXY_HISTOGRAM = $8025;
  139. GL_HISTOGRAM_WIDTH = $8026;
  140. GL_HISTOGRAM_FORMAT = $8027;
  141. GL_HISTOGRAM_RED_SIZE = $8028;
  142. GL_HISTOGRAM_GREEN_SIZE = $8029;
  143. GL_HISTOGRAM_BLUE_SIZE = $802A;
  144. GL_HISTOGRAM_ALPHA_SIZE = $802B;
  145. GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
  146. GL_HISTOGRAM_SINK = $802D;
  147. GL_MINMAX = $802E;
  148. GL_MINMAX_FORMAT = $802F;
  149. GL_MINMAX_SINK = $8030;
  150. GL_TABLE_TOO_LARGE = $8031;
  151. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  152. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  153. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  154. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  155. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  156. GL_RESCALE_NORMAL = $803A;
  157. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  158. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  159. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  160. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  161. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  162. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  163. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  164. GL_COLOR_MATRIX = $80B1;
  165. GL_COLOR_MATRIX_STACK_DEPTH = $80B2;
  166. GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3;
  167. GL_POST_COLOR_MATRIX_RED_SCALE = $80B4;
  168. GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5;
  169. GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6;
  170. GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7;
  171. GL_POST_COLOR_MATRIX_RED_BIAS = $80B8;
  172. GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9;
  173. GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA;
  174. GL_COLOR_TABLE = $80D0;
  175. GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
  176. GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
  177. GL_PROXY_COLOR_TABLE = $80D3;
  178. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
  179. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
  180. GL_COLOR_TABLE_SCALE = $80D6;
  181. GL_COLOR_TABLE_BIAS = $80D7;
  182. GL_COLOR_TABLE_FORMAT = $80D8;
  183. GL_COLOR_TABLE_WIDTH = $80D9;
  184. GL_COLOR_TABLE_RED_SIZE = $80DA;
  185. GL_COLOR_TABLE_GREEN_SIZE = $80DB;
  186. GL_COLOR_TABLE_BLUE_SIZE = $80DC;
  187. GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
  188. GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
  189. GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
  190. GL_CLAMP_TO_EDGE = $812F;
  191. GL_TEXTURE_MIN_LOD = $813A;
  192. GL_TEXTURE_MAX_LOD = $813B;
  193. GL_TEXTURE_BASE_LEVEL = $813C;
  194. GL_TEXTURE_MAX_LEVEL = $813D;
  195. GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
  196. GL_SINGLE_COLOR = $81F9;
  197. GL_SEPARATE_SPECULAR_COLOR = $81FA;
  198. GL_MAX_ELEMENTS_VERTICES = $F0E8;
  199. GL_MAX_ELEMENTS_INDICES = $F0E9;
  200. GL_POST_COLOR_MATRIX_ALPHA_BIAS = $80BB;
  201. GL_BGR = $80E0;
  202. GL_BGRA = $80E1;
  203. var
  204. glBlendColor: procedure(red, green, blue, alpha: GLclampf); extdecl;
  205. glBlendEquation: procedure(mode: GLenum); extdecl;
  206. glDrawRangeElements: procedure(mode: GLenum; start, aend: GLuint;
  207. count: GLsizei; atype: GLenum; const indices: Pointer); extdecl;
  208. glColorTable: procedure(target, internalformat: GLenum; width: GLsizei;
  209. format, atype: GLenum; const table: Pointer); extdecl;
  210. glColorTableParameterfv: procedure(target, pname: GLenum;
  211. const params: Pointer); extdecl;
  212. glColorTableParameteriv: procedure(target, pname: GLenum;
  213. const params: PGLint); extdecl;
  214. glCopyColorTable: procedure(target, internalformat: GLenum; x, y: GLint;
  215. width: GLsizei); extdecl;
  216. glGetColorTable: procedure(target, format, atype: GLenum; table: Pointer); extdecl;
  217. glGetColorTableParameterfv: procedure(target, pname: GLenum;
  218. params: PGLfloat); extdecl;
  219. glGetColorTableParameteriv: procedure(target, pname: GLenum; params: PGLint); extdecl;
  220. glColorSubTable: procedure(target: GLenum; start, count: GLsizei;
  221. format, atype: GLenum; const data: Pointer); extdecl;
  222. glCopyColorSubTable: procedure(target: GLenum; start: GLsizei; x, y: GLint;
  223. width: GLsizei); extdecl;
  224. glConvolutionFilter1D: procedure(target, internalformat: GLenum;
  225. width: GLsizei; format, atype: GLenum; const image: Pointer); extdecl;
  226. glConvolutionFilter2D: procedure(target, internalformat: GLenum;
  227. width, height: GLsizei; format, atype: GLenum; const image: Pointer); extdecl;
  228. glConvolutionParameterf: procedure(target, pname: GLenum; params: GLfloat); extdecl;
  229. glConvolutionParameterfv: procedure(target, pname: GLenum;
  230. const params: PGLfloat); extdecl;
  231. glConvolutionParameteri: procedure(target, pname: GLenum; params: GLint); extdecl;
  232. glConvolutionParameteriv: procedure(target, pname: GLenum;
  233. const params: PGLint); extdecl;
  234. glCopyConvolutionFilter1D: procedure(target, internalformat: GLenum;
  235. x, y: GLint; width: GLsizei); extdecl;
  236. glCopyConvolutionFilter2D: procedure(target, internalformat: GLenum;
  237. x, y: GLint; width, height: GLsizei); extdecl;
  238. glGetConvolutionFilter: procedure(target, format, atype: GLenum;
  239. image: Pointer); extdecl;
  240. glGetConvolutionParameterfv: procedure(target, pname: GLenum;
  241. params: PGLfloat); extdecl;
  242. glGetConvolutionParameteriv: procedure(target, pname: GLenum; params: PGLint); extdecl;
  243. glGetSeparableFilter: procedure(target, format, atype: GLenum;
  244. row, column, span: Pointer); extdecl;
  245. glSeparableFilter2D: procedure(target, internalformat: GLenum;
  246. width, height: GLsizei; format, atype: GLenum; const row, column: Pointer); extdecl;
  247. glGetHistogram: procedure(target: GLenum; reset: GLboolean;
  248. format, atype: GLenum; values: Pointer); extdecl;
  249. glGetHistogramParameterfv: procedure(target, pname: GLenum; params: Pointer); extdecl;
  250. glGetHistogramParameteriv: procedure(target, pname: GLenum; params: PGLint); extdecl;
  251. glGetMinMax: procedure(target: GLenum; reset: GLboolean;
  252. format, atype: GLenum; values: Pointer); extdecl;
  253. glGetMinMaxParameterfv: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
  254. glGetMinMaxParameteriv: procedure(target, pname: GLenum; params: PGLint); extdecl;
  255. glHistogram: procedure(target: GLenum; width: GLsizei; internalformat: GLenum;
  256. sink: GLboolean); extdecl;
  257. glMinMax: procedure(target, internalformat: GLenum; sink: GLboolean); extdecl;
  258. glResetHistogram: procedure(target: GLenum); extdecl;
  259. glResetMinMax: procedure(target: GLenum); extdecl;
  260. glTexImage3D: procedure(target: GLenum; level, internalformat: GLint;
  261. width, height, depth: GLsizei; border: GLint; format, atype: GLenum;
  262. const pixels: Pointer); extdecl;
  263. glTexSubImage3D: procedure(target: GLenum;
  264. level, xoffset, yoffset, zoffset: GLint; width, height, depth: GLsizei;
  265. format, atype: GLenum; const pixels: Pointer); extdecl;
  266. glCopyTexSubImage3D: procedure(target: GLenum;
  267. level, xoffset, yoffset, zoffset, x, y: GLint; width, height: GLsizei); extdecl;
  268. //*** OpenGL 1.3
  269. const
  270. GL_COMPRESSED_ALPHA = $84E9;
  271. GL_COMPRESSED_LUMINANCE = $84EA;
  272. GL_COMPRESSED_LUMINANCE_ALPHA = $84EB;
  273. GL_COMPRESSED_INTENSITY = $84EC;
  274. GL_COMPRESSED_RGB = $84ED;
  275. GL_COMPRESSED_RGBA = $84EE;
  276. GL_TEXTURE_COMPRESSION_HINT = $84EF;
  277. GL_TEXTURE_IMAGE_SIZE = $86A0;
  278. GL_TEXTURE_COMPRESSED = $86A1;
  279. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  280. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  281. var
  282. glCompressedTexImage3D: procedure (target: GLenum; level: GLint;
  283. internalformat: GLenum; width, height, depth: GLsizei; border: GLint;
  284. imageSize: GLsizei; const data: Pointer); extdecl;
  285. glCompressedTexImage2D: procedure (target: GLenum; level: GLint;
  286. internalformat: GLenum;width, height: GLsizei; border: GLint;
  287. imageSize: GLsizei; const data: Pointer); extdecl;
  288. glCompressedTexImage1D: procedure (target: GLenum; level: GLint;
  289. internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei;
  290. const data: Pointer); extdecl;
  291. glCompressedTexSubImage3D: procedure (target: GLenum; level: GLint;
  292. xoffset, yoffset, zoffset: GLint; width, height, depth: GLsizei;
  293. format: GLenum; imageSize: GLsizei; const data: Pointer); extdecl;
  294. glCompressedTexSubImage2D: procedure (target: GLenum; level: GLint;
  295. xoffset, yoffset: GLint; width, height: GLsizei; format: GLenum;
  296. imageSize: GLsizei; const data: Pointer); extdecl;
  297. glCompressedTexSubImage1D: procedure (target: GLenum; level: GLint;
  298. xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei;
  299. const data: Pointer); extdecl;
  300. glGetCompressedTexImage: procedure (target: GLenum; level: GLint;
  301. img: Pointer); extdecl;
  302. const
  303. GL_NORMAL_MAP = $8511;
  304. GL_REFLECTION_MAP = $8512;
  305. GL_TEXTURE_CUBE_MAP = $8513;
  306. GL_TEXTURE_BINDING_CUBE_MAP = $8514;
  307. GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
  308. GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
  309. GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
  310. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
  311. GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
  312. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
  313. GL_PROXY_TEXTURE_CUBE_MAP = $851B;
  314. GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
  315. const
  316. GL_MULTISAMPLE = $809D;
  317. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  318. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  319. GL_SAMPLE_COVERAGE = $80A0;
  320. GL_SAMPLE_BUFFERS = $80A8;
  321. GL_SAMPLES = $80A9;
  322. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  323. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  324. GL_MULTISAMPLE_BIT = $20000000;
  325. var
  326. glSampleCoverage: procedure (value: GLclampf; invert: GLboolean); extdecl;
  327. glSamplePass: procedure (pass: GLenum); extdecl;
  328. const
  329. GL_TEXTURE0 = $84C0;
  330. GL_TEXTURE1 = $84C1;
  331. GL_TEXTURE2 = $84C2;
  332. GL_TEXTURE3 = $84C3;
  333. GL_TEXTURE4 = $84C4;
  334. GL_TEXTURE5 = $84C5;
  335. GL_TEXTURE6 = $84C6;
  336. GL_TEXTURE7 = $84C7;
  337. GL_TEXTURE8 = $84C8;
  338. GL_TEXTURE9 = $84C9;
  339. GL_TEXTURE10 = $84CA;
  340. GL_TEXTURE11 = $84CB;
  341. GL_TEXTURE12 = $84CC;
  342. GL_TEXTURE13 = $84CD;
  343. GL_TEXTURE14 = $84CE;
  344. GL_TEXTURE15 = $84CF;
  345. GL_TEXTURE16 = $84D0;
  346. GL_TEXTURE17 = $84D1;
  347. GL_TEXTURE18 = $84D2;
  348. GL_TEXTURE19 = $84D3;
  349. GL_TEXTURE20 = $84D4;
  350. GL_TEXTURE21 = $84D5;
  351. GL_TEXTURE22 = $84D6;
  352. GL_TEXTURE23 = $84D7;
  353. GL_TEXTURE24 = $84D8;
  354. GL_TEXTURE25 = $84D9;
  355. GL_TEXTURE26 = $84DA;
  356. GL_TEXTURE27 = $84DB;
  357. GL_TEXTURE28 = $84DC;
  358. GL_TEXTURE29 = $84DD;
  359. GL_TEXTURE30 = $84DE;
  360. GL_TEXTURE31 = $84DF;
  361. GL_ACTIVE_TEXTURE = $84E0;
  362. GL_CLIENT_ACTIVE_TEXTURE = $84E1;
  363. GL_MAX_TEXTURE_UNITS = $84E2;
  364. var
  365. glActiveTexture: procedure(texture: GLenum); extdecl;
  366. glClientActiveTexture: procedure(texture: GLenum); extdecl;
  367. glMultiTexCoord1d: procedure(target: GLenum; s: GLdouble); extdecl;
  368. glMultiTexCoord1dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
  369. glMultiTexCoord1f: procedure(target: GLenum; s: GLfloat); extdecl;
  370. glMultiTexCoord1fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
  371. glMultiTexCoord1i: procedure(target: GLenum; s: GLint); extdecl;
  372. glMultiTexCoord1iv: procedure(target: GLenum; const v: PGLint); extdecl;
  373. glMultiTexCoord1s: procedure(target: GLenum; s: GLshort); extdecl;
  374. glMultiTexCoord1sv: procedure(target: GLenum; const v: PGLshort); extdecl;
  375. glMultiTexCoord2d: procedure(target: GLenum; s, t: GLdouble); extdecl;
  376. glMultiTexCoord2dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
  377. glMultiTexCoord2f: procedure(target: GLenum; s, t: GLfloat); extdecl;
  378. glMultiTexCoord2fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
  379. glMultiTexCoord2i: procedure(target: GLenum; s, t: GLint); extdecl;
  380. glMultiTexCoord2iv: procedure(target: GLenum; const v: PGLint); extdecl;
  381. glMultiTexCoord2s: procedure(target: GLenum; s, t: GLshort); extdecl;
  382. glMultiTexCoord2sv: procedure(target: GLenum; const v: PGLshort); extdecl;
  383. glMultiTexCoord3d: procedure(target: GLenum; s, t, r: GLdouble); extdecl;
  384. glMultiTexCoord3dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
  385. glMultiTexCoord3f: procedure(target: GLenum; s, t, r: GLfloat); extdecl;
  386. glMultiTexCoord3fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
  387. glMultiTexCoord3i: procedure(target: GLenum; s, t, r: GLint); extdecl;
  388. glMultiTexCoord3iv: procedure(target: GLenum; const v: PGLint); extdecl;
  389. glMultiTexCoord3s: procedure(target: GLenum; s, t, r: GLshort); extdecl;
  390. glMultiTexCoord3sv: procedure(target: GLenum; const v: PGLshort); extdecl;
  391. glMultiTexCoord4d: procedure(target: GLenum; s, t, r, q: GLdouble); extdecl;
  392. glMultiTexCoord4dv: procedure(target: GLenum; const v: PGLdouble); extdecl;
  393. glMultiTexCoord4f: procedure(target: GLenum; s, t, r, q: GLfloat); extdecl;
  394. glMultiTexCoord4fv: procedure(target: GLenum; const v: PGLfloat); extdecl;
  395. glMultiTexCoord4i: procedure(target: GLenum; s, t, r, q: GLint); extdecl;
  396. glMultiTexCoord4iv: procedure(target: GLenum; const v: PGLint); extdecl;
  397. glMultiTexCoord4s: procedure(target: GLenum; s, t, r, q: GLshort); extdecl;
  398. glMultiTexCoord4sv: procedure(target: GLenum; const v: PGLshort); extdecl;
  399. const
  400. GL_COMBINE = $8570;
  401. GL_COMBINE_RGB = $8571;
  402. GL_COMBINE_ALPHA = $8572;
  403. GL_SOURCE0_RGB = $8580;
  404. GL_SOURCE1_RGB = $8581;
  405. GL_SOURCE2_RGB = $8582;
  406. GL_SOURCE0_ALPHA = $8588;
  407. GL_SOURCE1_ALPHA = $8589;
  408. GL_SOURCE2_ALPHA = $858A;
  409. GL_OPERAND0_RGB = $8590;
  410. GL_OPERAND1_RGB = $8591;
  411. GL_OPERAND2_RGB = $8592;
  412. GL_OPERAND0_ALPHA = $8598;
  413. GL_OPERAND1_ALPHA = $8599;
  414. GL_OPERAND2_ALPHA = $859A;
  415. GL_RGB_SCALE = $8573;
  416. GL_ADD_SIGNED = $8574;
  417. GL_INTERPOLATE = $8575;
  418. GL_SUBTRACT = $84E7;
  419. GL_CONSTANT = $8576;
  420. GL_PRIMARY_COLOR = $8577;
  421. GL_PREVIOUS = $8578;
  422. const
  423. GL_DOT3_RGB = $86AE;
  424. GL_DOT3_RGBA = $86AF;
  425. const
  426. GL_CLAMP_TO_BORDER = $812D;
  427. const
  428. GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3;
  429. GL_TRANSPOSE_PROJECTION_MATRIX = $84E4;
  430. GL_TRANSPOSE_TEXTURE_MATRIX = $84E5;
  431. GL_TRANSPOSE_COLOR_MATRIX = $84E6;
  432. var
  433. glLoadTransposeMatrixf: procedure(const m: PGLfloat); extdecl;
  434. glLoadTransposeMatrixd: procedure(const m: PGLdouble); extdecl;
  435. glMultTransposeMatrixf: procedure(const m: PGLfloat); extdecl;
  436. glMultTransposeMatrixd: procedure(const m: PGLdouble); extdecl;
  437. //*** ARB_multitexture
  438. const
  439. GL_TEXTURE0_ARB = $84C0;
  440. GL_TEXTURE1_ARB = $84C1;
  441. GL_TEXTURE2_ARB = $84C2;
  442. GL_TEXTURE3_ARB = $84C3;
  443. GL_TEXTURE4_ARB = $84C4;
  444. GL_TEXTURE5_ARB = $84C5;
  445. GL_TEXTURE6_ARB = $84C6;
  446. GL_TEXTURE7_ARB = $84C7;
  447. GL_TEXTURE8_ARB = $84C8;
  448. GL_TEXTURE9_ARB = $84C9;
  449. GL_TEXTURE10_ARB = $84CA;
  450. GL_TEXTURE11_ARB = $84CB;
  451. GL_TEXTURE12_ARB = $84CC;
  452. GL_TEXTURE13_ARB = $84CD;
  453. GL_TEXTURE14_ARB = $84CE;
  454. GL_TEXTURE15_ARB = $84CF;
  455. GL_TEXTURE16_ARB = $84D0;
  456. GL_TEXTURE17_ARB = $84D1;
  457. GL_TEXTURE18_ARB = $84D2;
  458. GL_TEXTURE19_ARB = $84D3;
  459. GL_TEXTURE20_ARB = $84D4;
  460. GL_TEXTURE21_ARB = $84D5;
  461. GL_TEXTURE22_ARB = $84D6;
  462. GL_TEXTURE23_ARB = $84D7;
  463. GL_TEXTURE24_ARB = $84D8;
  464. GL_TEXTURE25_ARB = $84D9;
  465. GL_TEXTURE26_ARB = $84DA;
  466. GL_TEXTURE27_ARB = $84DB;
  467. GL_TEXTURE28_ARB = $84DC;
  468. GL_TEXTURE29_ARB = $84DD;
  469. GL_TEXTURE30_ARB = $84DE;
  470. GL_TEXTURE31_ARB = $84DF;
  471. GL_ACTIVE_TEXTURE_ARB = $84E0;
  472. GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
  473. GL_MAX_TEXTURE_UNITS_ARB = $84E2;
  474. var
  475. glActiveTextureARB: procedure(texture: GLenum); extdecl;
  476. glClientActiveTextureARB: procedure(texture: GLenum); extdecl;
  477. glMultiTexCoord1dARB: procedure(target: GLenum; s: GLdouble); extdecl;
  478. glMultiTexCoord1dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
  479. glMultiTexCoord1fARB: procedure(target: GLenum; s: GLfloat); extdecl;
  480. glMultiTexCoord1fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
  481. glMultiTexCoord1iARB: procedure(target: GLenum; s: GLint); extdecl;
  482. glMultiTexCoord1ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
  483. glMultiTexCoord1sARB: procedure(target: GLenum; s: GLshort); extdecl;
  484. glMultiTexCoord1svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
  485. glMultiTexCoord2dARB: procedure(target: GLenum; s, t: GLdouble); extdecl;
  486. glMultiTexCoord2dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
  487. glMultiTexCoord2fARB: procedure(target: GLenum; s, t: GLfloat); extdecl;
  488. glMultiTexCoord2fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
  489. glMultiTexCoord2iARB: procedure(target: GLenum; s, t: GLint); extdecl;
  490. glMultiTexCoord2ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
  491. glMultiTexCoord2sARB: procedure(target: GLenum; s, t: GLshort); extdecl;
  492. glMultiTexCoord2svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
  493. glMultiTexCoord3dARB: procedure(target: GLenum; s, t, r: GLdouble); extdecl;
  494. glMultiTexCoord3dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
  495. glMultiTexCoord3fARB: procedure(target: GLenum; s, t, r: GLfloat); extdecl;
  496. glMultiTexCoord3fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
  497. glMultiTexCoord3iARB: procedure(target: GLenum; s, t, r: GLint); extdecl;
  498. glMultiTexCoord3ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
  499. glMultiTexCoord3sARB: procedure(target: GLenum; s, t, r: GLshort); extdecl;
  500. glMultiTexCoord3svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
  501. glMultiTexCoord4dARB: procedure(target: GLenum; s, t, r, q: GLdouble); extdecl;
  502. glMultiTexCoord4dvARB: procedure(target: GLenum; const v: PGLdouble); extdecl;
  503. glMultiTexCoord4fARB: procedure(target: GLenum; s, t, r, q: GLfloat); extdecl;
  504. glMultiTexCoord4fvARB: procedure(target: GLenum; const v: PGLfloat); extdecl;
  505. glMultiTexCoord4iARB: procedure(target: GLenum; s, t, r, q: GLint); extdecl;
  506. glMultiTexCoord4ivARB: procedure(target: GLenum; const v: PGLint); extdecl;
  507. glMultiTexCoord4sARB: procedure(target: GLenum; s, t, r, q: GLshort); extdecl;
  508. glMultiTexCoord4svARB: procedure(target: GLenum; const v: PGLshort); extdecl;
  509. //*** ARB_transpose_matrix
  510. const
  511. GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
  512. GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
  513. GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
  514. GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
  515. var
  516. glLoadTransposeMatrixfARB: procedure(const m: PGLfloat); extdecl;
  517. glLoadTransposeMatrixdARB: procedure(const m: PGLdouble); extdecl;
  518. glMultTransposeMatrixfARB: procedure(const m: PGLfloat); extdecl;
  519. glMultTransposeMatrixdARB: procedure(const m: PGLdouble); extdecl;
  520. //*** ARB_multisample
  521. const
  522. GL_MULTISAMPLE_ARB = $809D;
  523. GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
  524. GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
  525. GL_SAMPLE_COVERAGE_ARB = $80A0;
  526. GL_SAMPLE_BUFFERS_ARB = $80A8;
  527. GL_SAMPLES_ARB = $80A9;
  528. GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
  529. GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
  530. GL_MULTISAMPLE_BIT_ARB = $20000000;
  531. var
  532. glSampleCoverageARB: procedure (value: GLclampf; invert: GLboolean); extdecl;
  533. glSamplePassARB: procedure (pass: GLenum); extdecl;
  534. //*** ARB_texture_cube_map
  535. const
  536. GL_NORMAL_MAP_ARB = $8511;
  537. GL_REFLECTION_MAP_ARB = $8512;
  538. GL_TEXTURE_CUBE_MAP_ARB = $8513;
  539. GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
  540. GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
  541. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
  542. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
  543. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
  544. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
  545. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
  546. GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
  547. GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
  548. //*** ARB_texture_compression
  549. const
  550. GL_COMPRESSED_ALPHA_ARB = $84E9;
  551. GL_COMPRESSED_LUMINANCE_ARB = $84EA;
  552. GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
  553. GL_COMPRESSED_INTENSITY_ARB = $84EC;
  554. GL_COMPRESSED_RGB_ARB = $84ED;
  555. GL_COMPRESSED_RGBA_ARB = $84EE;
  556. GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
  557. GL_TEXTURE_IMAGE_SIZE_ARB = $86A0;
  558. GL_TEXTURE_COMPRESSED_ARB = $86A1;
  559. GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
  560. GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
  561. var
  562. glCompressedTexImage3DARB: procedure (target: GLenum; level: GLint;
  563. internalformat: GLenum; width, height, depth: GLsizei; border: GLint;
  564. imageSize: GLsizei; const data: Pointer); extdecl;
  565. glCompressedTexImage2DARB: procedure (target: GLenum; level: GLint;
  566. internalformat: GLenum;width, height: GLsizei; border: GLint;
  567. imageSize: GLsizei; const data: Pointer); extdecl;
  568. glCompressedTexImage1DARB: procedure (target: GLenum; level: GLint;
  569. internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei;
  570. const data: Pointer); extdecl;
  571. glCompressedTexSubImage3DARB: procedure (target: GLenum; level: GLint;
  572. xoffset, yoffset, zoffset: GLint; width, height, depth: GLsizei;
  573. format: GLenum; imageSize: GLsizei; const data: Pointer); extdecl;
  574. glCompressedTexSubImage2DARB: procedure (target: GLenum; level: GLint;
  575. xoffset, yoffset: GLint; width, height: GLsizei; format: GLenum;
  576. imageSize: GLsizei; const data: Pointer); extdecl;
  577. glCompressedTexSubImage1DARB: procedure (target: GLenum; level: GLint;
  578. xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei;
  579. const data: Pointer); extdecl;
  580. glGetCompressedTexImageARB: procedure (target: GLenum; level: GLint;
  581. img: Pointer); extdecl;
  582. //*** ARB_texture_env_combine
  583. const
  584. GL_COMBINE_ARB = $8570;
  585. GL_COMBINE_RGB_ARB = $8571;
  586. GL_COMBINE_ALPHA_ARB = $8572;
  587. GL_SOURCE0_RGB_ARB = $8580;
  588. GL_SOURCE1_RGB_ARB = $8581;
  589. GL_SOURCE2_RGB_ARB = $8582;
  590. GL_SOURCE0_ALPHA_ARB = $8588;
  591. GL_SOURCE1_ALPHA_ARB = $8589;
  592. GL_SOURCE2_ALPHA_ARB = $858A;
  593. GL_OPERAND0_RGB_ARB = $8590;
  594. GL_OPERAND1_RGB_ARB = $8591;
  595. GL_OPERAND2_RGB_ARB = $8592;
  596. GL_OPERAND0_ALPHA_ARB = $8598;
  597. GL_OPERAND1_ALPHA_ARB = $8599;
  598. GL_OPERAND2_ALPHA_ARB = $859A;
  599. GL_RGB_SCALE_ARB = $8573;
  600. GL_ADD_SIGNED_ARB = $8574;
  601. GL_INTERPOLATE_ARB = $8575;
  602. GL_SUBTRACT_ARB = $84E7;
  603. GL_CONSTANT_ARB = $8576;
  604. GL_PRIMARY_COLOR_ARB = $8577;
  605. GL_PREVIOUS_ARB = $8578;
  606. //*** ARB_texture_env_dot3
  607. const
  608. GL_DOT3_RGB_ARB = $86AE;
  609. GL_DOT3_RGBA_ARB = $86AF;
  610. //*** EXT_abgr
  611. const
  612. GL_ABGR_EXT = $8000;
  613. //*** EXT_blend_color
  614. const
  615. GL_CONSTANT_COLOR_EXT = $8001;
  616. GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
  617. GL_CONSTANT_ALPHA_EXT = $8003;
  618. GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
  619. GL_BLEND_COLOR_EXT = $8005;
  620. var
  621. glBlendColorEXT: procedure (red, green, blue, alpha: GLclampf); extdecl;
  622. //*** EXT_polygon_offset
  623. const
  624. GL_POLYGON_OFFSET_EXT = $8037;
  625. GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
  626. GL_POLYGON_OFFSET_BIAS_EXT = $8039;
  627. var
  628. glPolygonOffsetEXT: procedure (factor, bias: GLfloat); extdecl;
  629. //*** EXT_texture
  630. const
  631. GL_ALPHA4_EXT = $803B;
  632. GL_ALPHA8_EXT = $803C;
  633. GL_ALPHA12_EXT = $803D;
  634. GL_ALPHA16_EXT = $803E;
  635. GL_LUMINANCE4_EXT = $803F;
  636. GL_LUMINANCE8_EXT = $8040;
  637. GL_LUMINANCE12_EXT = $8041;
  638. GL_LUMINANCE16_EXT = $8042;
  639. GL_LUMINANCE4_ALPHA4_EXT = $8043;
  640. GL_LUMINANCE6_ALPHA2_EXT = $8044;
  641. GL_LUMINANCE8_ALPHA8_EXT = $8045;
  642. GL_LUMINANCE12_ALPHA4_EXT = $8046;
  643. GL_LUMINANCE12_ALPHA12_EXT = $8047;
  644. GL_LUMINANCE16_ALPHA16_EXT = $8048;
  645. GL_INTENSITY_EXT = $8049;
  646. GL_INTENSITY4_EXT = $804A;
  647. GL_INTENSITY8_EXT = $804B;
  648. GL_INTENSITY12_EXT = $804C;
  649. GL_INTENSITY16_EXT = $804D;
  650. GL_RGB2_EXT = $804E;
  651. GL_RGB4_EXT = $804F;
  652. GL_RGB5_EXT = $8050;
  653. GL_RGB8_EXT = $8051;
  654. GL_RGB10_EXT = $8052;
  655. GL_RGB12_EXT = $8053;
  656. GL_RGB16_EXT = $8054;
  657. GL_RGBA2_EXT = $8055;
  658. GL_RGBA4_EXT = $8056;
  659. GL_RGB5_A1_EXT = $8057;
  660. GL_RGBA8_EXT = $8058;
  661. GL_RGB10_A2_EXT = $8059;
  662. GL_RGBA12_EXT = $805A;
  663. GL_RGBA16_EXT = $805B;
  664. GL_TEXTURE_RED_SIZE_EXT = $805C;
  665. GL_TEXTURE_GREEN_SIZE_EXT = $805D;
  666. GL_TEXTURE_BLUE_SIZE_EXT = $805E;
  667. GL_TEXTURE_ALPHA_SIZE_EXT = $805F;
  668. GL_TEXTURE_LUMINANCE_SIZE_EXT = $8060;
  669. GL_TEXTURE_INTENSITY_SIZE_EXT = $8061;
  670. GL_REPLACE_EXT = $8062;
  671. GL_PROXY_TEXTURE_1D_EXT = $8063;
  672. GL_PROXY_TEXTURE_2D_EXT = $8064;
  673. GL_TEXTURE_TOO_LARGE_EXT = $8065;
  674. //*** EXT_texture3D
  675. const
  676. GL_PACK_SKIP_IMAGES = $806B;
  677. GL_PACK_SKIP_IMAGES_EXT = $806B;
  678. GL_PACK_IMAGE_HEIGHT = $806C;
  679. GL_PACK_IMAGE_HEIGHT_EXT = $806C;
  680. GL_UNPACK_SKIP_IMAGES = $806D;
  681. GL_UNPACK_SKIP_IMAGES_EXT = $806D;
  682. GL_UNPACK_IMAGE_HEIGHT = $806E;
  683. GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
  684. GL_TEXTURE_3D = $806F;
  685. GL_TEXTURE_3D_EXT = $806F;
  686. GL_PROXY_TEXTURE_3D = $8070;
  687. GL_PROXY_TEXTURE_3D_EXT = $8070;
  688. GL_TEXTURE_DEPTH = $8071;
  689. GL_TEXTURE_DEPTH_EXT = $8071;
  690. GL_TEXTURE_WRAP_R = $8072;
  691. GL_TEXTURE_WRAP_R_EXT = $8072;
  692. GL_MAX_3D_TEXTURE_SIZE = $8073;
  693. GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
  694. var
  695. glTexImage3DEXT: procedure(target: GLenum; level: GLint;
  696. internalformat: GLenum; width, height, depth: GLsizei; border: GLint;
  697. format, atype: GLenum; const pixels: Pointer); extdecl;
  698. glTexSubImage3DEXT: procedure(target: GLenum;
  699. level, xoffset, yoffset, zoffset: GLint; width, height, depth: GLsizei;
  700. format, atype: GLenum; const pixels: Pointer); extdecl;
  701. //*** SGIS_texture_filter4
  702. const
  703. GL_FILTER4_SGIS = $8146;
  704. GL_TEXTURE_FILTER4_SIZE_SGIS = $8147;
  705. var
  706. glGetTexFilterFuncSGIS: procedure(target, filter: GLenum; weights: PGLfloat); extdecl;
  707. glTexFilterFuncSGIS: procedure(target, filter: GLenum; n: GLsizei;
  708. const weights: PGLfloat); extdecl;
  709. //*** EXT_subtexture
  710. glTexSubImage1DEXT: procedure(target: GLenum; level, xoffset: GLint;
  711. width: GLsizei; format, atype: GLenum; const pixels: Pointer); extdecl;
  712. glTexSubImage2DEXT: procedure(target: GLenum; level, xoffset, yoffset: GLint;
  713. width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); extdecl;
  714. //*** EXT_copy_texture
  715. glCopyTexImage1DEXT: procedure (target: GLenum; level: GLint;
  716. internalformat: GLenum; x, y: GLint; width: GLsizei; border: GLint); extdecl;
  717. glCopyTexImage2DEXT: procedure (target: GLenum; level: GLint;
  718. internalformat: GLenum; x, y: GLint; width, height: GLsizei; border: GLint); extdecl;
  719. glCopyTexSubImage1DEXT: procedure (target: GLenum; level: GLint;
  720. xoffset, x, y: GLint; width: GLsizei); extdecl;
  721. glCopyTexSubImage2DEXT: procedure (target: GLenum; level: GLint;
  722. xoffset, yoffset, x, y: GLint; width, height: GLsizei); extdecl;
  723. glCopyTexSubImage3DEXT: procedure (target: GLenum; level: GLint;
  724. xoffset, yoffset, zoffset, x, y: GLint; width, height: GLsizei); extdecl;
  725. //*** EXT_histogram
  726. const
  727. GL_HISTOGRAM_EXT = $8024;
  728. GL_PROXY_HISTOGRAM_EXT = $8025;
  729. GL_HISTOGRAM_WIDTH_EXT = $8026;
  730. GL_HISTOGRAM_FORMAT_EXT = $8027;
  731. GL_HISTOGRAM_RED_SIZE_EXT = $8028;
  732. GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
  733. GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
  734. GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
  735. GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
  736. GL_HISTOGRAM_SINK_EXT = $802D;
  737. GL_MINMAX_EXT = $802E;
  738. GL_MINMAX_FORMAT_EXT = $802F;
  739. GL_MINMAX_SINK_EXT = $8030;
  740. GL_TABLE_TOO_LARGE_EXT = $8031;
  741. var
  742. glGetHistogramEXT: procedure(target: GLenum; reset: GLboolean;
  743. format, atype: GLenum; values: Pointer); extdecl;
  744. glGetHistogramParameterfvEXT: procedure(target, pname: GLenum;
  745. params: PGLfloat); extdecl;
  746. glGetHistogramParameterivEXT: procedure(target, pname: GLenum;
  747. params: PGLint); extdecl;
  748. glGetMinmaxEXT: procedure(target: GLenum; reset: GLboolean;
  749. format, atype: GLenum; values: Pointer); extdecl;
  750. glGetMinmaxParameterfvEXT: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
  751. glGetMinmaxParameterivEXT: procedure(target, pname: GLenum; params: PGLint); extdecl;
  752. glHistogramEXT: procedure(target: GLenum; width: GLsizei;
  753. internalformat: GLenum; sink: GLboolean); extdecl;
  754. glMinmaxEXT: procedure(target, internalformat: GLenum; sink: GLboolean); extdecl;
  755. glResetHistogramEXT: procedure(target: GLenum); extdecl;
  756. glResetMinmaxEXT: procedure(target: GLenum); extdecl;
  757. //*** EXT_convolution
  758. const
  759. GL_CONVOLUTION_1D_EXT = $8010;
  760. GL_CONVOLUTION_2D_EXT = $8011;
  761. GL_SEPARABLE_2D_EXT = $8012;
  762. GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
  763. GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
  764. GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
  765. GL_REDUCE_EXT = $8016;
  766. GL_CONVOLUTION_FORMAT_EXT = $8017;
  767. GL_CONVOLUTION_WIDTH_EXT = $8018;
  768. GL_CONVOLUTION_HEIGHT_EXT = $8019;
  769. GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
  770. GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
  771. GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
  772. GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
  773. GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
  774. GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
  775. GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
  776. GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
  777. GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
  778. GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
  779. var
  780. glConvolutionFilter1DEXT: procedure(target, internalformat: GLenum;
  781. width: GLsizei; format, atype: GLenum; const image: Pointer); extdecl;
  782. glConvolutionFilter2DEXT: procedure(target, internalformat: GLenum;
  783. width, height: GLsizei; format, atype: GLenum; const image: Pointer); extdecl;
  784. glConvolutionParameterfEXT: procedure(target, pname: GLenum; params: GLfloat); extdecl;
  785. glConvolutionParameterfvEXT: procedure(target, pname: GLenum; const params: PGLfloat); extdecl;
  786. glConvolutionParameteriEXT: procedure(target, pname: GLenum; params: GLint); extdecl;
  787. glConvolutionParameterivEXT: procedure(target, pname: GLenum; const params: PGLint); extdecl;
  788. glCopyConvolutionFilter1DEXT: procedure(target, internalformat: GLenum; x, y: GLint; width: GLsizei); extdecl;
  789. glCopyConvolutionFilter2DEXT: procedure(target, internalformat: GLenum; x, y: GLint; width, height: GLsizei); extdecl;
  790. glGetConvolutionFilterEXT: procedure(target, format, atype: GLenum; image: Pointer); extdecl;
  791. glGetConvolutionParameterfvEXT: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
  792. glGetConvolutionParameterivEXT: procedure(target, pname: GLenum; params: PGLint); extdecl;
  793. glGetSeparableFilterEXT: procedure(target, format, atype: GLenum; row, column, span: Pointer); extdecl;
  794. glSeparableFilter2DEXT: procedure(target, internalformat: GLenum; width, height: GLsizei; format, atype: GLenum; const row, column: Pointer); extdecl;
  795. //*** SGI_color_matrix
  796. const
  797. GL_COLOR_MATRIX_SGI = $80B1;
  798. GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
  799. GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
  800. GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
  801. GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
  802. GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
  803. GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
  804. GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
  805. GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
  806. GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
  807. GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
  808. //*** SGI_color_table
  809. const
  810. GL_COLOR_TABLE_SGI = $80D0;
  811. GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
  812. GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
  813. GL_PROXY_COLOR_TABLE_SGI = $80D3;
  814. GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
  815. GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
  816. GL_COLOR_TABLE_SCALE_SGI = $80D6;
  817. GL_COLOR_TABLE_BIAS_SGI = $80D7;
  818. GL_COLOR_TABLE_FORMAT_SGI = $80D8;
  819. GL_COLOR_TABLE_WIDTH_SGI = $80D9;
  820. GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
  821. GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
  822. GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
  823. GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
  824. GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
  825. GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
  826. var
  827. glColorTableSGI: procedure(target, internalformat: GLenum; widthL: GLsizei;
  828. format, atype: GLenum; const table: Pointer); extdecl;
  829. glColorTableParameterfvSGI: procedure(target, pname: GLenum;
  830. const params: PGLfloat); extdecl;
  831. glColorTableParameterivSGI: procedure(target, pname: GLenum;
  832. const params: PGLint); extdecl;
  833. glCopyColorTableSGI: procedure(target, internamformat: GLenum; x, y: GLint;
  834. width: GLsizei); extdecl;
  835. glGetColorTableSGI: procedure(target, format, atype: GLenum; table: Pointer); extdecl;
  836. glGetColorTableParameterfvSGI: procedure(target, pname: GLenum;
  837. params: PGLfloat); extdecl;
  838. glGetColorTableParameterivSGI: procedure(target, pname: GLenum;
  839. params: PGLint); extdecl;
  840. //*** SGIS_pixel_texture
  841. const
  842. GL_PIXEL_TEXTURE_SGIS = $8353;
  843. GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
  844. GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
  845. GL_PIXEL_GROUP_COLOR_SGIS = $8356;
  846. var
  847. glPixelTexGenSGIX: procedure (mode: GLenum); extdecl;
  848. //*** SGIX_pixel_texture
  849. const
  850. GL_PIXEL_TEX_GEN_SGIX = $8139;
  851. GL_PIXEL_TEX_GEN_MODE_SGIX = $832B;
  852. var
  853. glPixelTexGenParameteriSGIS: procedure(pname: GLenum; param: GLint); extdecl;
  854. glPixelTexGenParameterivSGIS: procedure(pname: GLenum; const params: PGLint); extdecl;
  855. glPixelTexGenParameterfSGIS: procedure(pname: GLenum; param: GLfloat); extdecl;
  856. glPixelTexGenParameterfvSGIS: procedure(pname: GLenum;
  857. const params: PGLfloat); extdecl;
  858. glGetPixelTexGenParameterivSGIS: procedure(pname: GLenum; params: PGLint); extdecl;
  859. glGetPixelTexGenParameterfvSGIS: procedure(pname: GLenum; params: PGLfloat); extdecl;
  860. //*** SGIS_texture4D
  861. const
  862. GL_PACK_SKIP_VOLUMES_SGIS = $8130;
  863. GL_PACK_IMAGE_DEPTH_SGIS = $8131;
  864. GL_UNPACK_SKIP_VOLUMES_SGIS = $8132;
  865. GL_UNPACK_IMAGE_DEPTH_SGIS = $8133;
  866. GL_TEXTURE_4D_SGIS = $8134;
  867. GL_PROXY_TEXTURE_4D_SGIS = $8135;
  868. GL_TEXTURE_4DSIZE_SGIS = $8136;
  869. GL_TEXTURE_WRAP_Q_SGIS = $8137;
  870. GL_MAX_4D_TEXTURE_SIZE_SGIS = $8138;
  871. GL_TEXTURE_4D_BINDING_SGIS = $814F;
  872. var
  873. glTexImage4DSGIS: procedure(target: GLenum; level: GLint;
  874. internalformat: GLenum; width, height, depth, size4d: GLsizei;
  875. border: GLint; format, atype: GLenum; const pixels: Pointer); extdecl;
  876. glTexSubImage4DSGIS: procedure(target: GLenum; level: GLint;
  877. xoffset, yoffset, zoffset, woffset: GLint;
  878. width, height, depth, size4d: GLsizei; format, atype: GLenum;
  879. const pixels: Pointer); extdecl;
  880. //*** SGI_texture_color_table
  881. const
  882. GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
  883. GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
  884. //*** EXT_cmyka
  885. const
  886. GL_CMYK_EXT = $800C;
  887. GL_CMYKA_EXT = $800D;
  888. GL_PACK_CMYK_HINT_EXT = $800E;
  889. GL_UNPACK_CMYK_HINT_EXT = $800F;
  890. //*** EXT_texture_object
  891. const
  892. GL_TEXTURE_PRIORITY_EXT = $8066;
  893. GL_TEXTURE_RESIDENT_EXT = $8067;
  894. GL_TEXTURE_1D_BINDING_EXT = $8068;
  895. GL_TEXTURE_2D_BINDING_EXT = $8069;
  896. GL_TEXTURE_3D_BINDING_EXT = $806A;
  897. var
  898. glAreTexturesResidentEXT: function(n: GLsizei; const textures: PGLuint;
  899. residences: PGLboolean): GLboolean; extdecl;
  900. glBindTextureEXT: procedure(target: GLenum; texture: GLuint); extdecl;
  901. glDeleteTexturesEXT: procedure(n: GLsizei; const textures: PGLuint); extdecl;
  902. glGenTexturesEXT: procedure(n: GLsizei; textures: PGLuint); extdecl;
  903. glIsTextureEXT: function(texture: GLuint): GLboolean; extdecl;
  904. glPrioritizeTexturesEXT: procedure(n: GLsizei; const textures: PGLuint;
  905. const priorities: PGLclampf); extdecl;
  906. //*** SGIS_detail_texture
  907. const
  908. GL_DETAIL_TEXTURE_2D_SGIS = $8095;
  909. GL_DETAIL_TEXTURE_2D_BINDING_SGIS = $8096;
  910. GL_LINEAR_DETAIL_SGIS = $8097;
  911. GL_LINEAR_DETAIL_ALPHA_SGIS = $8098;
  912. GL_LINEAR_DETAIL_COLOR_SGIS = $8099;
  913. GL_DETAIL_TEXTURE_LEVEL_SGIS = $809A;
  914. GL_DETAIL_TEXTURE_MODE_SGIS = $809B;
  915. GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = $809C;
  916. var
  917. glDetailTexFuncSGIS: procedure(target: GLenum; n: GLsizei;
  918. const points: PGLfloat); extdecl;
  919. glGetDetailTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); extdecl;
  920. //*** SGIS_sharpen_texture
  921. const
  922. GL_LINEAR_SHARPEN_SGIS = $80AD;
  923. GL_LINEAR_SHARPEN_ALPHA_SGIS = $80AE;
  924. GL_LINEAR_SHARPEN_COLOR_SGIS = $80AF;
  925. GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = $80B0;
  926. var
  927. glSharpenTexFuncSGIS: procedure(target: GLenum; n: GLsizei;
  928. const points: PGLfloat); extdecl;
  929. glGetSharpenTexFuncSGIS: procedure(target: GLenum; points: PGLfloat); extdecl;
  930. //*** EXT_packed_pixels
  931. const
  932. GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
  933. GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
  934. GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
  935. GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
  936. GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
  937. //*** SGIS_texture_lod
  938. const
  939. GL_TEXTURE_MIN_LOD_SGIS = $813A;
  940. GL_TEXTURE_MAX_LOD_SGIS = $813B;
  941. GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
  942. GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
  943. //*** SGIS_multisample
  944. const
  945. GL_MULTISAMPLE_SGIS = $809D;
  946. GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
  947. GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
  948. GL_SAMPLE_MASK_SGIS = $80A0;
  949. GL_1PASS_SGIS = $80A1;
  950. GL_2PASS_0_SGIS = $80A2;
  951. GL_2PASS_1_SGIS = $80A3;
  952. GL_4PASS_0_SGIS = $80A4;
  953. GL_4PASS_1_SGIS = $80A5;
  954. GL_4PASS_2_SGIS = $80A6;
  955. GL_4PASS_3_SGIS = $80A7;
  956. GL_SAMPLE_BUFFERS_SGIS = $80A8;
  957. GL_SAMPLES_SGIS = $80A9;
  958. GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
  959. GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
  960. GL_SAMPLE_PATTERN_SGIS = $80AC;
  961. var
  962. glSampleMaskSGIS: procedure(value: GLclampf; invert: GLboolean); extdecl;
  963. glSamplePatternSGIS: procedure(pattern: GLenum); extdecl;
  964. //*** EXT_rescale_normal
  965. const
  966. GL_RESCALE_NORMAL_EXT = $803A;
  967. //*** EXT_vertex_array
  968. const
  969. GL_VERTEX_ARRAY_EXT = $8074;
  970. GL_NORMAL_ARRAY_EXT = $8075;
  971. GL_COLOR_ARRAY_EXT = $8076;
  972. GL_INDEX_ARRAY_EXT = $8077;
  973. GL_TEXTURE_COORD_ARRAY_EXT = $8078;
  974. GL_EDGE_FLAG_ARRAY_EXT = $8079;
  975. GL_VERTEX_ARRAY_SIZE_EXT = $807A;
  976. GL_VERTEX_ARRAY_TYPE_EXT = $807B;
  977. GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
  978. GL_VERTEX_ARRAY_COUNT_EXT = $807D;
  979. GL_NORMAL_ARRAY_TYPE_EXT = $807E;
  980. GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
  981. GL_NORMAL_ARRAY_COUNT_EXT = $8080;
  982. GL_COLOR_ARRAY_SIZE_EXT = $8081;
  983. GL_COLOR_ARRAY_TYPE_EXT = $8082;
  984. GL_COLOR_ARRAY_STRIDE_EXT = $8083;
  985. GL_COLOR_ARRAY_COUNT_EXT = $8084;
  986. GL_INDEX_ARRAY_TYPE_EXT = $8085;
  987. GL_INDEX_ARRAY_STRIDE_EXT = $8086;
  988. GL_INDEX_ARRAY_COUNT_EXT = $8087;
  989. GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
  990. GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
  991. GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  992. GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
  993. GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
  994. GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
  995. GL_VERTEX_ARRAY_POINTER_EXT = $808E;
  996. GL_NORMAL_ARRAY_POINTER_EXT = $808F;
  997. GL_COLOR_ARRAY_POINTER_EXT = $8090;
  998. GL_INDEX_ARRAY_POINTER_EXT = $8091;
  999. GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  1000. GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
  1001. type
  1002. PPointer = ^Pointer;
  1003. var
  1004. glArrayElementEXT: procedure(i: GLint); extdecl;
  1005. glColorPointerEXT: procedure(size: GLint; atype: GLenum;
  1006. stride, count: GLsizei; const ptr: Pointer); extdecl;
  1007. glDrawArraysEXT: procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
  1008. glEdgeFlagPointerEXT: procedure(stride, count: GLsizei;
  1009. const ptr: PGLboolean); extdecl;
  1010. glGetPointervEXT: procedure(pname: GLenum; params: PPointer); extdecl;
  1011. glIndexPointerEXT: procedure(atype: GLenum; stride, count: GLsizei;
  1012. const ptr: Pointer); extdecl;
  1013. glNormalPointerEXT: procedure(atype: GLenum; stride, count: GLsizei;
  1014. const ptr: Pointer); extdecl;
  1015. glTexCoordPointerEXT: procedure(size: GLint; atype: GLenum;
  1016. stride, count: GLsizei; const ptr: Pointer); extdecl;
  1017. glVertexPointerEXT: procedure(size: GLint; atype: GLenum;
  1018. stride, count: GLsizei; const ptr: Pointer); extdecl;
  1019. //*** EXT_misc_attribute
  1020. //*** SGIS_generate_mipmap
  1021. const
  1022. GL_GENERATE_MIPMAP_SGIS = $8191;
  1023. GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
  1024. //*** SGIX_clipmap
  1025. const
  1026. GL_LINEAR_CLIPMAP_LINEAR_SGIX = $8170;
  1027. GL_TEXTURE_CLIPMAP_CENTER_SGIX = $8171;
  1028. GL_TEXTURE_CLIPMAP_FRAME_SGIX = $8172;
  1029. GL_TEXTURE_CLIPMAP_OFFSET_SGIX = $8173;
  1030. GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8174;
  1031. GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = $8175;
  1032. GL_TEXTURE_CLIPMAP_DEPTH_SGIX = $8176;
  1033. GL_MAX_CLIPMAP_DEPTH_SGIX = $8177;
  1034. GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = $8178;
  1035. GL_NEAREST_CLIPMAP_NEAREST_SGIX = $844D;
  1036. GL_NEAREST_CLIPMAP_LINEAR_SGIX = $844E;
  1037. GL_LINEAR_CLIPMAP_NEAREST_SGIX = $844F;
  1038. //*** SGIX_shadow
  1039. const
  1040. GL_TEXTURE_COMPARE_SGIX = $819A;
  1041. GL_TEXTURE_COMPARE_OPERATOR_SGIX = $819B;
  1042. GL_TEXTURE_LEQUAL_R_SGIX = $819C;
  1043. GL_TEXTURE_GEQUAL_R_SGIX = $819D;
  1044. //*** SGIS_texture_edge_clamp
  1045. const
  1046. GL_CLAMP_TO_EDGE_SGIS = $812F;
  1047. //*** SGIS_texture_border_clamp
  1048. const
  1049. GL_CLAMP_TO_BORDER_SGIS = $812D;
  1050. //*** EXT_blend_minmax
  1051. const
  1052. GL_FUNC_ADD_EXT = $8006;
  1053. GL_MIN_EXT = $8007;
  1054. GL_MAX_EXT = $8008;
  1055. GL_BLEND_EQUATION_EXT = $8009;
  1056. var
  1057. glBlendEquationEXT: procedure(mode: GLenum); extdecl;
  1058. //*** EXT_blend_subtract
  1059. const
  1060. GL_FUNC_SUBTRACT_EXT = $800A;
  1061. GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
  1062. //*** EXT_blend_logic_op
  1063. //*** SGIX_interlace
  1064. const
  1065. GL_INTERLACE_SGIX = $8094;
  1066. //*** SGIX_pixel_tiles
  1067. const
  1068. GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = $813E;
  1069. GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = $813F;
  1070. GL_PIXEL_TILE_WIDTH_SGIX = $8140;
  1071. GL_PIXEL_TILE_HEIGHT_SGIX = $8141;
  1072. GL_PIXEL_TILE_GRID_WIDTH_SGIX = $8142;
  1073. GL_PIXEL_TILE_GRID_HEIGHT_SGIX = $8143;
  1074. GL_PIXEL_TILE_GRID_DEPTH_SGIX = $8144;
  1075. GL_PIXEL_TILE_CACHE_SIZE_SGIX = $8145;
  1076. //*** SGIS_texture_select
  1077. const
  1078. GL_DUAL_ALPHA4_SGIS = $8110;
  1079. GL_DUAL_ALPHA8_SGIS = $8111;
  1080. GL_DUAL_ALPHA12_SGIS = $8112;
  1081. GL_DUAL_ALPHA16_SGIS = $8113;
  1082. GL_DUAL_LUMINANCE4_SGIS = $8114;
  1083. GL_DUAL_LUMINANCE8_SGIS = $8115;
  1084. GL_DUAL_LUMINANCE12_SGIS = $8116;
  1085. GL_DUAL_LUMINANCE16_SGIS = $8117;
  1086. GL_DUAL_INTENSITY4_SGIS = $8118;
  1087. GL_DUAL_INTENSITY8_SGIS = $8119;
  1088. GL_DUAL_INTENSITY12_SGIS = $811A;
  1089. GL_DUAL_INTENSITY16_SGIS = $811B;
  1090. GL_DUAL_LUMINANCE_ALPHA4_SGIS = $811C;
  1091. GL_DUAL_LUMINANCE_ALPHA8_SGIS = $811D;
  1092. GL_QUAD_ALPHA4_SGIS = $811E;
  1093. GL_QUAD_ALPHA8_SGIS = $811F;
  1094. GL_QUAD_LUMINANCE4_SGIS = $8120;
  1095. GL_QUAD_LUMINANCE8_SGIS = $8121;
  1096. GL_QUAD_INTENSITY4_SGIS = $8122;
  1097. GL_QUAD_INTENSITY8_SGIS = $8123;
  1098. GL_DUAL_TEXTURE_SELECT_SGIS = $8124;
  1099. GL_QUAD_TEXTURE_SELECT_SGIS = $8125;
  1100. //*** SGIX_sprite
  1101. const
  1102. GL_SPRITE_SGIX = $8148;
  1103. GL_SPRITE_MODE_SGIX = $8149;
  1104. GL_SPRITE_AXIS_SGIX = $814A;
  1105. GL_SPRITE_TRANSLATION_SGIX = $814B;
  1106. GL_SPRITE_AXIAL_SGIX = $814C;
  1107. GL_SPRITE_OBJECT_ALIGNED_SGIX = $814D;
  1108. GL_SPRITE_EYE_ALIGNED_SGIX = $814E;
  1109. var
  1110. glSpriteParameterfSGIX: procedure(pname: GLenum; param: GLfloat); extdecl;
  1111. glSpriteParameterfvSGIX: procedure(pname: GLenum; const params: PGLfloat); extdecl;
  1112. glSpriteParameteriSGIX: procedure(pname: GLenum; param: GLint); extdecl;
  1113. glSpriteParameterivSGIX: procedure(pname: GLenum; const params: PGLint); extdecl;
  1114. //*** SGIX_texture_multi_buffer
  1115. const
  1116. GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = $812E;
  1117. //*** SGIS_point_parameters
  1118. const
  1119. GL_POINT_SIZE_MIN_EXT = $8126;
  1120. GL_POINT_SIZE_MIN_SGIS = $8126;
  1121. GL_POINT_SIZE_MAX_EXT = $8127;
  1122. GL_POINT_SIZE_MAX_SGIS = $8127;
  1123. GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
  1124. GL_POINT_FADE_THRESHOLD_SIZE_SGIS = $8128;
  1125. GL_DISTANCE_ATTENUATION_EXT = $8129;
  1126. GL_DISTANCE_ATTENUATION_SGIS = $8129;
  1127. var
  1128. glPointParameterfEXT: procedure(pname: GLenum; param: GLfloat); extdecl;
  1129. glPointParameterfvEXT: procedure(pname: GLenum; const params: PGLfloat); extdecl;
  1130. glPointParameterfSGIS: procedure(pname: GLenum; param: GLfloat); extdecl;
  1131. glPointParameterfvSGIS: procedure(pname: GLenum; const params: PGLfloat); extdecl;
  1132. //*** SGIX_instruments
  1133. const
  1134. GL_INSTRUMENT_BUFFER_POINTER_SGIX = $8180;
  1135. GL_INSTRUMENT_MEASUREMENTS_SGIX = $8181;
  1136. var
  1137. glGetInstrumentsSGIX: function: GLint; extdecl;
  1138. glInstrumentsBufferSGIX: procedure(size: GLsizei; buffer: PGLint); extdecl;
  1139. glPollInstrumentsSGIX: function(marker_p: PGLint): GLint; extdecl;
  1140. glReadInstrumentsSGIX: procedure(marker: GLint); extdecl;
  1141. glStartInstrumentsSGIX: procedure; extdecl;
  1142. glStopInstrumentsSGIX: procedure(marker: GLint); extdecl;
  1143. //*** SGIX_texture_scale_bias
  1144. const
  1145. GL_POST_TEXTURE_FILTER_BIAS_SGIX = $8179;
  1146. GL_POST_TEXTURE_FILTER_SCALE_SGIX = $817A;
  1147. GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = $817B;
  1148. GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = $817C;
  1149. //*** SGIX_framezoom
  1150. const
  1151. GL_FRAMEZOOM_SGIX = $818B;
  1152. GL_FRAMEZOOM_FACTOR_SGIX = $818C;
  1153. GL_MAX_FRAMEZOOM_FACTOR_SGIX = $818D;
  1154. var
  1155. glFrameZoomSGIX: procedure(factor: GLint); extdecl;
  1156. //*** SGIX_tag_sample_buffer
  1157. var
  1158. glTagSampleBufferSGIX: procedure; extdecl;
  1159. //*** SGIX_reference_plane
  1160. const
  1161. GL_REFERENCE_PLANE_SGIX = $817D;
  1162. GL_REFERENCE_PLANE_EQUATION_SGIX = $817E;
  1163. var
  1164. glReferencePlaneSGIX: procedure(const equation: PGLdouble); extdecl;
  1165. //*** SGIX_flush_raster
  1166. var
  1167. glFlushRasterSGIX: procedure; extdecl;
  1168. //*** SGIX_depth_texture
  1169. const
  1170. GL_DEPTH_COMPONENT16_SGIX = $81A5;
  1171. GL_DEPTH_COMPONENT24_SGIX = $81A6;
  1172. GL_DEPTH_COMPONENT32_SGIX = $81A7;
  1173. //*** SGIS_fog_function
  1174. const
  1175. GL_FOG_FUNC_SGIS = $812A;
  1176. GL_FOG_FUNC_POINTS_SGIS = $812B;
  1177. GL_MAX_FOG_FUNC_POINTS_SGIS = $812C;
  1178. var
  1179. glFogFuncSGIS: procedure(n: GLsizei; const points: PGLfloat); extdecl;
  1180. glGetFogFuncSGIS: procedure(const points: PGLfloat); extdecl;
  1181. //*** SGIX_fog_offset
  1182. const
  1183. GL_FOG_OFFSET_SGIX = $8198;
  1184. GL_FOG_OFFSET_VALUE_SGIX = $8199;
  1185. //*** HP_image_transform
  1186. const
  1187. GL_IMAGE_SCALE_X_HP = $8155;
  1188. GL_IMAGE_SCALE_Y_HP = $8156;
  1189. GL_IMAGE_TRANSLATE_X_HP = $8157;
  1190. GL_IMAGE_TRANSLATE_Y_HP = $8158;
  1191. GL_IMAGE_ROTATE_ANGLE_HP = $8159;
  1192. GL_IMAGE_ROTATE_ORIGIN_X_HP = $815A;
  1193. GL_IMAGE_ROTATE_ORIGIN_Y_HP = $815B;
  1194. GL_IMAGE_MAG_FILTER_HP = $815C;
  1195. GL_IMAGE_MIN_FILTER_HP = $815D;
  1196. GL_IMAGE_CUBIC_WEIGHT_HP = $815E;
  1197. GL_CUBIC_HP = $815F;
  1198. GL_AVERAGE_HP = $8160;
  1199. GL_IMAGE_TRANSFORM_2D_HP = $8161;
  1200. GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8162;
  1201. GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = $8163;
  1202. var
  1203. glImageTransformParameteriHP: procedure(target, pname: GLenum; param: GLint); extdecl;
  1204. glImageTransformParameterfHP: procedure(target, pname: GLenum;
  1205. param: GLfloat); extdecl;
  1206. glImageTransformParameterivHP: procedure(target, pname: GLenum;
  1207. const params: PGLint); extdecl;
  1208. glImageTransformParameterfvHP: procedure(target, pname: GLenum;
  1209. const params: PGLfloat); extdecl;
  1210. glGetImageTransformParameterivHP: procedure(target, pname: GLenum;
  1211. params: PGLint); extdecl;
  1212. glGetImageTransformParameterfvHP: procedure(target, pname: GLenum;
  1213. params: PGLfloat); extdecl;
  1214. //*** HP_convolution_border_modes
  1215. const
  1216. GL_IGNORE_BORDER_HP = $8150;
  1217. GL_CONSTANT_BORDER_HP = $8151;
  1218. GL_REPLICATE_BORDER_HP = $8153;
  1219. GL_CONVOLUTION_BORDER_COLOR_HP = $8154;
  1220. //*** INGR_palette_buffer
  1221. //*** SGIX_texture_add_env
  1222. const
  1223. GL_TEXTURE_ENV_BIAS_SGIX = $80BE;
  1224. //*** EXT_color_subtable
  1225. var
  1226. glColorSubTableEXT: procedure(target: GLenum; start, count: GLsizei;
  1227. format, atype: GLenum; const data: Pointer); extdecl;
  1228. glCopyColorSubTableEXT: procedure(target: GLenum; start: GLsizei; x, y: GLint;
  1229. width: GLsizei); extdecl;
  1230. //*** PGI_vertex_hints
  1231. const
  1232. GL_VERTEX_DATA_HINT_PGI = $1A22A;
  1233. GL_VERTEX_CONSISTENT_HINT_PGI = $1A22B;
  1234. GL_MATERIAL_SIDE_HINT_PGI = $1A22C;
  1235. GL_MAX_VERTEX_HINT_PGI = $1A22D;
  1236. GL_COLOR3_BIT_PGI = $00010000;
  1237. GL_COLOR4_BIT_PGI = $00020000;
  1238. GL_EDGEFLAG_BIT_PGI = $00040000;
  1239. GL_INDEX_BIT_PGI = $00080000;
  1240. GL_MAT_AMBIENT_BIT_PGI = $00100000;
  1241. GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = $00200000;
  1242. GL_MAT_DIFFUSE_BIT_PGI = $00400000;
  1243. GL_MAT_EMISSION_BIT_PGI = $00800000;
  1244. GL_MAT_COLOR_INDEXES_BIT_PGI = $01000000;
  1245. GL_MAT_SHININESS_BIT_PGI = $02000000;
  1246. GL_MAT_SPECULAR_BIT_PGI = $04000000;
  1247. GL_NORMAL_BIT_PGI = $08000000;
  1248. GL_TEXCOORD1_BIT_PGI = $10000000;
  1249. GL_TEXCOORD2_BIT_PGI = $20000000;
  1250. GL_TEXCOORD3_BIT_PGI = $40000000;
  1251. GL_TEXCOORD4_BIT_PGI = $80000000;
  1252. GL_VERTEX23_BIT_PGI = $00000004;
  1253. GL_VERTEX4_BIT_PGI = $00000008;
  1254. //*** PGI_misc_hints
  1255. const
  1256. GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
  1257. GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
  1258. GL_RECLAIM_MEMORY_HINT_PGI = $1A1FE;
  1259. GL_NATIVE_GRAPHICS_HANDLE_PGI = $1A202;
  1260. GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = $1A203;
  1261. GL_NATIVE_GRAPHICS_END_HINT_PGI = $1A204;
  1262. GL_ALWAYS_FAST_HINT_PGI = $1A20C;
  1263. GL_ALWAYS_SOFT_HINT_PGI = $1A20D;
  1264. GL_ALLOW_DRAW_OBJ_HINT_PGI = $1A20E;
  1265. GL_ALLOW_DRAW_WIN_HINT_PGI = $1A20F;
  1266. GL_ALLOW_DRAW_FRG_HINT_PGI = $1A210;
  1267. GL_ALLOW_DRAW_MEM_HINT_PGI = $1A211;
  1268. GL_STRICT_DEPTHFUNC_HINT_PGI = $1A216;
  1269. GL_STRICT_LIGHTING_HINT_PGI = $1A217;
  1270. GL_STRICT_SCISSOR_HINT_PGI = $1A218;
  1271. GL_FULL_STIPPLE_HINT_PGI = $1A219;
  1272. GL_CLIP_NEAR_HINT_PGI = $1A220;
  1273. GL_CLIP_FAR_HINT_PGI = $1A221;
  1274. GL_WIDE_LINE_HINT_PGI = $1A222;
  1275. GL_BACK_NORMALS_HINT_PGI = $1A223;
  1276. var
  1277. glHintPGI: procedure(target: GLenum; mode: GLint); extdecl;
  1278. //*** EXT_paletted_texture
  1279. const
  1280. GL_COLOR_INDEX1_EXT = $80E2;
  1281. GL_COLOR_INDEX2_EXT = $80E3;
  1282. GL_COLOR_INDEX4_EXT = $80E4;
  1283. GL_COLOR_INDEX8_EXT = $80E5;
  1284. GL_COLOR_INDEX12_EXT = $80E6;
  1285. GL_COLOR_INDEX16_EXT = $80E7;
  1286. GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
  1287. var
  1288. glColorTableEXT: procedure(target, internalformat: GLenum; width: GLsizei;
  1289. format, atype: GLenum; const table: Pointer); extdecl;
  1290. glGetColorTableEXT: procedure(target, format, atype: GLenum; data: Pointer); extdecl;
  1291. glGetColorTableParameterivEXT: procedure(target, pname: GLenum;
  1292. params: PGLint); extdecl;
  1293. glGetColorTableParameterfvEXT: procedure(target, pname: GLenum;
  1294. params: PGLfloat); extdecl;
  1295. //*** EXT_clip_volume_hint
  1296. const
  1297. GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
  1298. //*** SGIX_list_priority
  1299. const
  1300. GL_LIST_PRIORITY_SGIX = $8182;
  1301. var
  1302. glGetListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; params: PGLfloat); extdecl;
  1303. glGetListParameterivSGIX: procedure(list: GLuint; pname: GLenum; params: PGLint); extdecl;
  1304. glListParameterfSGIX: procedure(list: GLuint; pname: GLenum; param: GLfloat); extdecl;
  1305. glListParameterfvSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLfloat); extdecl;
  1306. glListParameteriSGIX: procedure(list: GLuint; pname: GLenum; param: GLint); extdecl;
  1307. glListParameterivSGIX: procedure(list: GLuint; pname: GLenum; const params: PGLint); extdecl;
  1308. //*** SGIX_ir_instrument1
  1309. const
  1310. GL_IR_INSTRUMENT1_SGIX = $817F;
  1311. //*** SGIX_calligraphic_fragment
  1312. const
  1313. GL_CALLIGRAPHIC_FRAGMENT_SGIX = $8183;
  1314. //*** SGIX_texture_lod_bias
  1315. const
  1316. GL_TEXTURE_LOD_BIAS_S_SGIX = $818E;
  1317. GL_TEXTURE_LOD_BIAS_T_SGIX = $818F;
  1318. GL_TEXTURE_LOD_BIAS_R_SGIX = $8190;
  1319. //*** SGIX_shadow_ambient
  1320. const
  1321. GL_SHADOW_AMBIENT_SGIX = $80BF;
  1322. //*** EXT_index_texture
  1323. //*** EXT_index_material
  1324. const
  1325. GL_INDEX_MATERIAL_EXT = $81B8;
  1326. GL_INDEX_MATERIAL_PARAMETER_EXT = $81B9;
  1327. GL_INDEX_MATERIAL_FACE_EXT = $81BA;
  1328. var
  1329. glIndexMaterialEXT: procedure(face, mode: GLenum); extdecl;
  1330. //*** EXT_index_func
  1331. const
  1332. GL_INDEX_TEST_EXT = $81B5;
  1333. GL_INDEX_TEST_FUNC_EXT = $81B6;
  1334. GL_INDEX_TEST_REF_EXT = $81B7;
  1335. var
  1336. glIndexFuncEXT: procedure(func: GLenum; ref: GLclampf); extdecl;
  1337. //*** EXT_index_array_formats
  1338. const
  1339. GL_IUI_V2F_EXT = $81AD;
  1340. GL_IUI_V3F_EXT = $81AE;
  1341. GL_IUI_N3F_V2F_EXT = $81AF;
  1342. GL_IUI_N3F_V3F_EXT = $81B0;
  1343. GL_T2F_IUI_V2F_EXT = $81B1;
  1344. GL_T2F_IUI_V3F_EXT = $81B2;
  1345. GL_T2F_IUI_N3F_V2F_EXT = $81B3;
  1346. GL_T2F_IUI_N3F_V3F_EXT = $81B4;
  1347. //*** EXT_compiled_vertex_array
  1348. const
  1349. GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
  1350. GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
  1351. var
  1352. glLockArraysEXT: procedure(first: GLint; count: GLsizei); extdecl;
  1353. glUnlockArraysEXT: procedure; extdecl;
  1354. //*** EXT_cull_vertex
  1355. const
  1356. GL_CULL_VERTEX_EXT = $81AA;
  1357. GL_CULL_VERTEX_EYE_POSITION_EXT = $81AB;
  1358. GL_CULL_VERTEX_OBJECT_POSITION_EXT = $81AC;
  1359. var
  1360. glCullParameterdvEXT: procedure(pname: GLenum; params: PGLdouble); extdecl;
  1361. glCullParameterfvEXT: procedure(pname: GLenum; params: PGLfloat); extdecl;
  1362. //*** SGIX_ycrcb
  1363. const
  1364. GL_YCRCB_422_SGIX = $81BB;
  1365. GL_YCRCB_444_SGIX = $81BC;
  1366. //*** SGIX_fragment_lighting
  1367. const
  1368. GL_FRAGMENT_LIGHTING_SGIX = $8400;
  1369. GL_FRAGMENT_COLOR_MATERIAL_SGIX = $8401;
  1370. GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = $8402;
  1371. GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = $8403;
  1372. GL_MAX_FRAGMENT_LIGHTS_SGIX = $8404;
  1373. GL_MAX_ACTIVE_LIGHTS_SGIX = $8405;
  1374. GL_CURRENT_RASTER_NORMAL_SGIX = $8406;
  1375. GL_LIGHT_ENV_MODE_SGIX = $8407;
  1376. GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = $8408;
  1377. GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = $8409;
  1378. GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = $840A;
  1379. GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = $840B;
  1380. GL_FRAGMENT_LIGHT0_SGIX = $840C;
  1381. GL_FRAGMENT_LIGHT1_SGIX = $840D;
  1382. GL_FRAGMENT_LIGHT2_SGIX = $840E;
  1383. GL_FRAGMENT_LIGHT3_SGIX = $840F;
  1384. GL_FRAGMENT_LIGHT4_SGIX = $8410;
  1385. GL_FRAGMENT_LIGHT5_SGIX = $8411;
  1386. GL_FRAGMENT_LIGHT6_SGIX = $8412;
  1387. GL_FRAGMENT_LIGHT7_SGIX = $8413;
  1388. var
  1389. glFragmentColorMaterialSGIX: procedure(face, mode: GLenum); extdecl;
  1390. glFragmentLightfSGIX: procedure(light, pname: GLenum; param: GLfloat); extdecl;
  1391. glFragmentLightfvSGIX: procedure(light, pname: GLenum; const params: PGLfloat); extdecl;
  1392. glFragmentLightiSGIX: procedure(light, pname: GLenum; param: GLint); extdecl;
  1393. glFragmentLightivSGIX: procedure(light, pname: GLenum; const params: PGLint); extdecl;
  1394. glFragmentLightModelfSGIX: procedure(pname: GLenum; param: GLfloat); extdecl;
  1395. glFragmentLightModelfvSGIX: procedure(pname: GLenum; const params: PGLfloat); extdecl;
  1396. glFragmentLightModeliSGIX: procedure(pname: GLenum; param: GLint); extdecl;
  1397. glFragmentLightModelivSGIX: procedure(pname: GLenum; const params: PGLint); extdecl;
  1398. glFragmentMaterialfSGIX: procedure(face, pname: GLenum; param: GLfloat); extdecl;
  1399. glFragmentMaterialfvSGIX: procedure(face, pname: GLenum; const params: PGLfloat); extdecl;
  1400. glFragmentMaterialiSGIX: procedure(face, pname: GLenum; param: GLint); extdecl;
  1401. glFragmentMaterialivSGIX: procedure(face, pname: GLenum; const params: PGLint); extdecl;
  1402. glGetFragmentLightfvSGIX: procedure(light, pname: GLenum; params: PGLfloat); extdecl;
  1403. glGetFragmentLightivSGIX: procedure(light, pname: GLenum; params: PGLint); extdecl;
  1404. glGetFragmentMaterialfvSGIX: procedure(light, pname: GLenum; params: PGLfloat); extdecl;
  1405. glGetFragmentMaterialivSGIX: procedure(light, pname: GLenum; params: PGLint); extdecl;
  1406. glLightEnviSGIX: procedure(pname: GLenum; param: GLint); extdecl;
  1407. //*** IBM_rasterpos_clip
  1408. const
  1409. GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
  1410. //*** HP_texture_lighting
  1411. const
  1412. GL_TEXTURE_LIGHTING_MODE_HP = $8167;
  1413. GL_TEXTURE_POST_SPECULAR_HP = $8168;
  1414. GL_TEXTURE_PRE_SPECULAR_HP = $8169;
  1415. //*** EXT_draw_range_elements
  1416. const
  1417. GL_MAX_ELEMENTS_VERTICES_EXT = $80E8;
  1418. GL_MAX_ELEMENTS_INDICES_EXT = $80E9;
  1419. var
  1420. glDrawRangeElementsEXT: procedure(mode: GLenum; start, aend: GLuint;
  1421. count: GLsizei; atype: GLenum; const indices: Pointer); extdecl;
  1422. //*** WIN_phong_shading
  1423. const
  1424. GL_PHONG_WIN = $80EA;
  1425. GL_PHONG_HINT_WIN = $80EB;
  1426. //*** WIN_specular_fog
  1427. const
  1428. GL_FOG_SPECULAR_TEXTURE_WIN = $80EC;
  1429. //*** EXT_light_texture
  1430. const
  1431. GL_FRAGMENT_MATERIAL_EXT = $8349;
  1432. GL_FRAGMENT_NORMAL_EXT = $834A;
  1433. GL_FRAGMENT_COLOR_EXT = $834C;
  1434. GL_ATTENUATION_EXT = $834D;
  1435. GL_SHADOW_ATTENUATION_EXT = $834E;
  1436. GL_TEXTURE_APPLICATION_MODE_EXT = $834F;
  1437. GL_TEXTURE_LIGHT_EXT = $8350;
  1438. GL_TEXTURE_MATERIAL_FACE_EXT = $8351;
  1439. GL_TEXTURE_MATERIAL_PARAMETER_EXT = $8352;
  1440. var
  1441. glApplyTextureEXT: procedure(mode: GLenum); extdecl;
  1442. glTextureLightEXT: procedure(pname: GLenum); extdecl;
  1443. glTextureMaterialEXT: procedure(face, mode: GLenum); extdecl;
  1444. //*** SGIX_blend_alpha_minmax
  1445. const
  1446. GL_ALPHA_MIN_SGIX = $8320;
  1447. GL_ALPHA_MAX_SGIX = $8321;
  1448. //*** EXT_bgra
  1449. const
  1450. GL_BGR_EXT = $80E0;
  1451. GL_BGRA_EXT = $80E1;
  1452. //*** INTEL_texture_scissor
  1453. //*** INTEL_parallel_arrays
  1454. const
  1455. GL_PARALLEL_ARRAYS_INTEL = $83F4;
  1456. GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = $83F5;
  1457. GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = $83F6;
  1458. GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = $83F7;
  1459. GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = $83F8;
  1460. var
  1461. glVertexPointervINTEL: procedure(size: GLint; atype: GLenum;
  1462. const ptr: PPointer); extdecl;
  1463. glNormalPointervINTEL: procedure(atype: GLenum; const ptr: PPointer); extdecl;
  1464. glColorPointervINTEL: procedure(size: GLint; atype: GLenum;
  1465. const ptr: PPointer); extdecl;
  1466. glTexCoordPointervINTEL: procedure(size: GLint; atype: GLenum;
  1467. const ptr: PPointer); extdecl;
  1468. //*** HP_occlusion_test
  1469. const
  1470. GL_OCCLUSION_TEST_HP = $8165;
  1471. GL_OCCLUSION_TEST_RESULT_HP = $8166;
  1472. //*** EXT_pixel_transform
  1473. const
  1474. GL_PIXEL_TRANSFORM_2D_EXT = $8330;
  1475. GL_PIXEL_MAG_FILTER_EXT = $8331;
  1476. GL_PIXEL_MIN_FILTER_EXT = $8332;
  1477. GL_PIXEL_CUBIC_WEIGHT_EXT = $8333;
  1478. GL_CUBIC_EXT = $8334;
  1479. GL_AVERAGE_EXT = $8335;
  1480. GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8336;
  1481. GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = $8337;
  1482. GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = $8338;
  1483. var
  1484. glPixelTransformParameteriEXT: procedure(target, pname: GLenum; param: GLint); extdecl;
  1485. glPixelTransformParameterfEXT: procedure(target, pname: GLenum;
  1486. param: GLfloat); extdecl;
  1487. glPixelTransformParameterivEXT: procedure(target, pname: GLenum;
  1488. const params: PGLint); extdecl;
  1489. glPixelTransformParameterfvEXT: procedure(target, pname: GLenum;
  1490. const params: PGLfloat); extdecl;
  1491. //*** EXT_pixel_transform_color_table
  1492. //*** EXT_shared_texture_palette
  1493. const
  1494. GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
  1495. //*** EXT_separate_specular_color
  1496. const
  1497. GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
  1498. GL_SINGLE_COLOR_EXT = $81F9;
  1499. GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
  1500. //*** EXT_secondary_color
  1501. const
  1502. GL_COLOR_SUM_EXT = $8458;
  1503. GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
  1504. GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
  1505. GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
  1506. GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
  1507. GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
  1508. GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
  1509. var
  1510. glSecondaryColor3bEXT: procedure(r, g, b: GLbyte); extdecl;
  1511. glSecondaryColor3bvEXT: procedure(const v: PGLbyte); extdecl;
  1512. glSecondaryColor3dEXT: procedure(r, g, b: GLdouble); extdecl;
  1513. glSecondaryColor3dvEXT: procedure(const v: PGLdouble); extdecl;
  1514. glSecondaryColor3fEXT: procedure(r, g, b: GLfloat); extdecl;
  1515. glSecondaryColor3fvEXT: procedure(const v: PGLfloat); extdecl;
  1516. glSecondaryColor3iEXT: procedure(r, g, b: GLint); extdecl;
  1517. glSecondaryColor3ivEXT: procedure(const v: PGLint); extdecl;
  1518. glSecondaryColor3sEXT: procedure(r, g, b: GLshort); extdecl;
  1519. glSecondaryColor3svEXT: procedure(const v: PGLshort); extdecl;
  1520. glSecondaryColor3ubEXT: procedure(r, g, b: GLubyte); extdecl;
  1521. glSecondaryColor3ubvEXT: procedure(const v: PGLubyte); extdecl;
  1522. glSecondaryColor3uiEXT: procedure(r, g, b: GLuint); extdecl;
  1523. glSecondaryColor3uivEXT: procedure(const v: PGLuint); extdecl;
  1524. glSecondaryColor3usEXT: procedure(r, g, b: GLushort); extdecl;
  1525. glSecondaryColor3usvEXT: procedure(const v: PGLushort); extdecl;
  1526. glSecondaryColorPointerEXT: procedure(size: GLint; atype: GLenum;
  1527. stride: GLsizei; ptr: Pointer); extdecl;
  1528. //*** EXT_texture_perturb_normal
  1529. const
  1530. GL_PERTURB_EXT = $85AE;
  1531. GL_TEXTURE_NORMAL_EXT = $85AF;
  1532. var
  1533. glTextureNormalEXT: procedure(mode: GLenum); extdecl;
  1534. //*** EXT_multi_draw_arrays
  1535. var
  1536. glMultiDrawArraysEXT: procedure(mode: GLenum; first: PGLint; count: PGLsizei;
  1537. primcount: GLsizei); extdecl;
  1538. glMultiDrawElementsEXT: procedure(mode: GLenum; const count: PGLsizei;
  1539. atype: GLenum; const indices: PPointer; primcount: GLsizei); extdecl;
  1540. //*** EXT_fog_coord
  1541. const
  1542. GL_FOG_COORDINATE_SOURCE_EXT = $8450;
  1543. GL_FOG_COORDINATE_EXT = $8451;
  1544. GL_FRAGMENT_DEPTH_EXT = $8452;
  1545. GL_CURRENT_FOG_COORDINATE_EXT = $8453;
  1546. GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
  1547. GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
  1548. GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
  1549. GL_FOG_COORDINATE_ARRAY_EXT = $8457;
  1550. var
  1551. glFogCoordfEXT: procedure(coord: GLfloat); extdecl;
  1552. glFogCoordfvEXT: procedure(const coord: PGLfloat); extdecl;
  1553. glFogCoorddEXT: procedure(coord: GLdouble); extdecl;
  1554. glFogCoorddvEXT: procedure(const coord: PGLdouble); extdecl;
  1555. glFogCoordPointerEXT: procedure(atype: GLenum; stride: GLsizei; const ptr: Pointer); extdecl;
  1556. //*** REND_screen_coordinates
  1557. const
  1558. GL_SCREEN_COORDINATES_REND = $8490;
  1559. GL_INVERTED_SCREEN_W_REND = $8491;
  1560. //*** EXT_coordinate_frame
  1561. const
  1562. GL_TANGENT_ARRAY_EXT = $8439;
  1563. GL_BINORMAL_ARRAY_EXT = $843A;
  1564. GL_CURRENT_TANGENT_EXT = $843B;
  1565. GL_CURRENT_BINORMAL_EXT = $843C;
  1566. GL_TANGENT_ARRAY_TYPE_EXT = $843E;
  1567. GL_TANGENT_ARRAY_STRIDE_EXT = $843F;
  1568. GL_BINORMAL_ARRAY_TYPE_EXT = $8440;
  1569. GL_BINORMAL_ARRAY_STRIDE_EXT = $8441;
  1570. GL_TANGENT_ARRAY_POINTER_EXT = $8442;
  1571. GL_BINORMAL_ARRAY_POINTER_EXT = $8443;
  1572. GL_MAP1_TANGENT_EXT = $8444;
  1573. GL_MAP2_TANGENT_EXT = $8445;
  1574. GL_MAP1_BINORMAL_EXT = $8446;
  1575. GL_MAP2_BINORMAL_EXT = $8447;
  1576. var
  1577. glTangent3bEXT: procedure(tx, ty, tz: GLbyte); extdecl;
  1578. glTangent3bvEXT: procedure(const v: PGLbyte); extdecl;
  1579. glTangent3dEXT: procedure(tx, ty, tz: GLdouble); extdecl;
  1580. glTangent3dvEXT: procedure(const v: PGLdouble); extdecl;
  1581. glTangent3fEXT: procedure(tx, ty, tz: GLfloat); extdecl;
  1582. glTangent3fvEXT: procedure(const v: PGLfloat); extdecl;
  1583. glTangent3iEXT: procedure(tx, ty, tz: GLint); extdecl;
  1584. glTangent3ivEXT: procedure(const v: PGLint); extdecl;
  1585. glTangent3sEXT: procedure(tx, ty, tz: GLshort); extdecl;
  1586. glTangent3svEXT: procedure(const v: PGLshort); extdecl;
  1587. glBinormal3bEXT: procedure(bx, by, bz: GLbyte); extdecl;
  1588. glBinormal3bvEXT: procedure(const v: PGLbyte); extdecl;
  1589. glBinormal3dEXT: procedure(bx, by, bz: GLdouble); extdecl;
  1590. glBinormal3dvEXT: procedure(const v: PGLdouble); extdecl;
  1591. glBinormal3fEXT: procedure(bx, by, bz: GLfloat); extdecl;
  1592. glBinormal3fvEXT: procedure(const v: PGLfloat); extdecl;
  1593. glBinormal3iEXT: procedure(bx, by, bz: GLint); extdecl;
  1594. glBinormal3ivEXT: procedure(const v: PGLint); extdecl;
  1595. glBinormal3sEXT: procedure(bx, by, bz: GLshort); extdecl;
  1596. glBinormal3svEXT: procedure(const v: PGLshort); extdecl;
  1597. glTangentPointerEXT: procedure(atype: GLenum; stride: GLsizei; const ptr: Pointer); extdecl;
  1598. glBinormalPointerEXT: procedure(atype: GLenum; stride: GLsizei; const ptr: Pointer); extdecl;
  1599. //*** EXT_texture_env_combine
  1600. const
  1601. GL_COMBINE_EXT = $8570;
  1602. GL_COMBINE_RGB_EXT = $8571;
  1603. GL_COMBINE_ALPHA_EXT = $8572;
  1604. GL_RGB_SCALE_EXT = $8573;
  1605. GL_ADD_SIGNED_EXT = $8574;
  1606. GL_INTERPOLATE_EXT = $8575;
  1607. GL_CONSTANT_EXT = $8576;
  1608. GL_PRIMARY_COLOR_EXT = $8577;
  1609. GL_PREVIOUS_EXT = $8578;
  1610. GL_SOURCE0_RGB_EXT = $8580;
  1611. GL_SOURCE1_RGB_EXT = $8581;
  1612. GL_SOURCE2_RGB_EXT = $8582;
  1613. GL_SOURCE3_RGB_EXT = $8583;
  1614. GL_SOURCE4_RGB_EXT = $8584;
  1615. GL_SOURCE5_RGB_EXT = $8585;
  1616. GL_SOURCE6_RGB_EXT = $8586;
  1617. GL_SOURCE7_RGB_EXT = $8587;
  1618. GL_SOURCE0_ALPHA_EXT = $8588;
  1619. GL_SOURCE1_ALPHA_EXT = $8589;
  1620. GL_SOURCE2_ALPHA_EXT = $858A;
  1621. GL_SOURCE3_ALPHA_EXT = $858B;
  1622. GL_SOURCE4_ALPHA_EXT = $858C;
  1623. GL_SOURCE5_ALPHA_EXT = $858D;
  1624. GL_SOURCE6_ALPHA_EXT = $858E;
  1625. GL_SOURCE7_ALPHA_EXT = $858F;
  1626. GL_OPERAND0_RGB_EXT = $8590;
  1627. GL_OPERAND1_RGB_EXT = $8591;
  1628. GL_OPERAND2_RGB_EXT = $8592;
  1629. GL_OPERAND3_RGB_EXT = $8593;
  1630. GL_OPERAND4_RGB_EXT = $8594;
  1631. GL_OPERAND5_RGB_EXT = $8595;
  1632. GL_OPERAND6_RGB_EXT = $8596;
  1633. GL_OPERAND7_RGB_EXT = $8597;
  1634. GL_OPERAND0_ALPHA_EXT = $8598;
  1635. GL_OPERAND1_ALPHA_EXT = $8599;
  1636. GL_OPERAND2_ALPHA_EXT = $859A;
  1637. GL_OPERAND3_ALPHA_EXT = $859B;
  1638. GL_OPERAND4_ALPHA_EXT = $859C;
  1639. GL_OPERAND5_ALPHA_EXT = $859D;
  1640. GL_OPERAND6_ALPHA_EXT = $859E;
  1641. GL_OPERAND7_ALPHA_EXT = $859F;
  1642. //*** APPLE_specular_vector
  1643. const
  1644. GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = $85B0;
  1645. //*** APPLE_transform_hint
  1646. const
  1647. GL_TRANSFORM_HINT_APPLE = $85B1;
  1648. //*** SGIX_fog_scale
  1649. const
  1650. GL_FOG_SCALE_SGIX = $81FC;
  1651. GL_FOG_SCALE_VALUE_SGIX = $81FD;
  1652. //*** SUNX_constant_data
  1653. const
  1654. GL_UNPACK_CONSTANT_DATA_SUNX = $81D5;
  1655. GL_TEXTURE_CONSTANT_DATA_SUNX = $81D6;
  1656. var
  1657. glFinishTextureSUNX: procedure; extdecl;
  1658. //*** SUN_global_alpha
  1659. const
  1660. GL_GLOBAL_ALPHA_SUN = $81D9;
  1661. GL_GLOBAL_ALPHA_FACTOR_SUN = $81DA;
  1662. var
  1663. glGlobalAlphaFactorbSUN: procedure(factor: GLbyte); extdecl;
  1664. glGlobalAlphaFactorsSUN: procedure(factor: GLshort); extdecl;
  1665. glGlobalAlphaFactoriSUN: procedure(factor: GLint); extdecl;
  1666. glGlobalAlphaFactorfSUN: procedure(factor: GLfloat); extdecl;
  1667. glGlobalAlphaFactordSUN: procedure(factor: GLdouble); extdecl;
  1668. glGlobalAlphaFactorubSUN: procedure(factor: GLubyte); extdecl;
  1669. glGlobalAlphaFactorusSUN: procedure(factor: GLushort); extdecl;
  1670. glGlobalAlphaFactoruiSUN: procedure(factor: GLuint); extdecl;
  1671. //*** SUN_triangle_list
  1672. const
  1673. GL_RESTART_SUN = $01;
  1674. GL_REPLACE_MIDDLE_SUN = $02;
  1675. GL_REPLACE_OLDEST_SUN = $03;
  1676. GL_TRIANGLE_LIST_SUN = $81D7;
  1677. GL_REPLACEMENT_CODE_SUN = $81D8;
  1678. GL_REPLACEMENT_CODE_ARRAY_SUN = $85C0;
  1679. GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = $85C1;
  1680. GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = $85C2;
  1681. GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = $85C3;
  1682. GL_R1UI_V3F_SUN = $85C4;
  1683. GL_R1UI_C4UB_V3F_SUN = $85C5;
  1684. GL_R1UI_C3F_V3F_SUN = $85C6;
  1685. GL_R1UI_N3F_V3F_SUN = $85C7;
  1686. GL_R1UI_C4F_N3F_V3F_SUN = $85C8;
  1687. GL_R1UI_T2F_V3F_SUN = $85C9;
  1688. GL_R1UI_T2F_N3F_V3F_SUN = $85CA;
  1689. GL_R1UI_T2F_C4F_N3F_V3F_SUN = $85CB;
  1690. var
  1691. glReplacementCodeuiSUN: procedure(code: GLuint); extdecl;
  1692. glReplacementCodeusSUN: procedure(code: GLushort); extdecl;
  1693. glReplacementCodeubSUN: procedure(code: GLubyte); extdecl;
  1694. glReplacementCodeuivSUN: procedure(const code: PGLuint); extdecl;
  1695. glReplacementCodeusvSUN: procedure(const code: PGLushort); extdecl;
  1696. glReplacementCodeubvSUN: procedure(const code: PGLubyte); extdecl;
  1697. glReplacementCodePointerSUN: procedure(atype: GLenum; stride: GLsizei; const ptr: Pointer); extdecl;
  1698. //*** SUN_vertex
  1699. var
  1700. glColor4ubVertex2fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte;
  1701. a: GLubyte; x: GLfloat; y: GLfloat); extdecl;
  1702. glColor4ubVertex2fvSUN: procedure(const c: PGLubyte; const v: PGLfloat); extdecl;
  1703. glColor4ubVertex3fSUN: procedure(r: GLubyte; g: GLubyte; b: GLubyte;
  1704. a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1705. glColor4ubVertex3fvSUN: procedure(const c: PGLubyte; const v: GLfloat); extdecl;
  1706. glColor3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat;
  1707. x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1708. glColor3fVertex3fvSUN: procedure(const c: GLfloat; const v: GLfloat); extdecl;
  1709. glNormal3fVertex3fSUN: procedure(nx: GLfloat; ny: GLfloat; nz: GLfloat;
  1710. x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1711. glNormal3fVertex3fvSUN: procedure(const n: GLfloat; const v: GLfloat); extdecl;
  1712. glColor4fNormal3fVertex3fSUN: procedure(r: GLfloat; g: GLfloat; b: GLfloat;
  1713. a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat;
  1714. z:GLfloat); extdecl;
  1715. glColor4fNormal3fVertex3fvSUN: procedure(const c: PGLfloat; const n: PGLfloat;
  1716. const v: PGLfloat); extdecl;
  1717. glTexCoord2fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; x: GLfloat;
  1718. y: GLfloat; z: GLfloat); extdecl;
  1719. glTexCoord2fVertex3fvSUN: procedure(const t: PGLfloat; const v: PGLfloat); extdecl;
  1720. glTexCoord4fVertex4fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat;
  1721. q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); extdecl;
  1722. glTexCoord4fVertex4fvSUN: procedure(const t: PGLfloat; const v: PGLfloat); extdecl;
  1723. glTexCoord2fColor4ubVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLubyte;
  1724. g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1725. glTexCoord2fColor4ubVertex3fvSUN: procedure(const t: PGLfloat;
  1726. const c: PGLubyte; const v: PGLfloat); extdecl;
  1727. glTexCoord2fColor3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat; r: GLfloat;
  1728. g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1729. glTexCoord2fColor3fVertex3fvSUN: procedure(const t: PGLfloat;
  1730. const c: PGLfloat; const v: PGLfloat); extdecl;
  1731. glTexCoord2fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat;
  1732. nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1733. glTexCoord2fNormal3fVertex3fvSUN: procedure(const t: PGLfloat;
  1734. const n: PGLfloat; const v: PGLfloat); extdecl;
  1735. glTexCoord2fColor4fNormal3fVertex3fSUN: procedure(s: GLfloat; t: GLfloat;
  1736. r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat;
  1737. nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1738. glTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(const t: PGLfloat;
  1739. const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
  1740. glTexCoord4fColor4fNormal3fVertex4fSUN: procedure(s: GLfloat; t: GLfloat;
  1741. r: GLfloat; q: GLfloat; cr: GLfloat; cg: GLfloat; cb: GLfloat; ca: GLfloat;
  1742. nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat;
  1743. w: GLfloat); extdecl;
  1744. glTexCoord4fColor4fNormal3fVertex4fvSUN: procedure(const t: PGLfloat;
  1745. const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
  1746. glReplacementCodeuiVertex3fSUN: procedure(rc: GLenum; x: GLfloat; y: GLfloat;
  1747. z: GLfloat); extdecl;
  1748. glReplacementCodeuiVertex3fvSUN: procedure(const rc: PGLenum;
  1749. const v: PGLfloat); extdecl;
  1750. glReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: GLenum; r: GLubyte;
  1751. g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1752. glReplacementCodeuiColor4ubVertex3fvSUN: procedure(const rc: PGLenum;
  1753. const c: PGLubyte; const v: PGLfloat); extdecl;
  1754. glReplacementCodeuiColor3fVertex3fSUN: procedure(rc: GLenum; r: GLfloat;
  1755. g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1756. glReplacementCodeuiColor3fVertex3fvSUN: procedure(const rc: PGLenum;
  1757. const c: PGLfloat; const v: PGLfloat); extdecl;
  1758. glReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: GLenum; nx: GLfloat;
  1759. ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1760. glReplacementCodeuiNormal3fVertex3fvSUN: procedure(const rc: PGLenum;
  1761. const n: PGLfloat; const v: PGLfloat); extdecl;
  1762. glReplacementCodeuiColor4fNormal3fVertex3fSUN: procedure(rc: GLenum;
  1763. r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat;
  1764. nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1765. glReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(const rc: PGLenum;
  1766. const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
  1767. glReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: GLenum; s: GLfloat;
  1768. t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1769. glReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(const rc: PGLenum;
  1770. const t: PGLfloat; const v: PGLfloat); extdecl;
  1771. glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: GLenum;
  1772. s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat;
  1773. y: GLfloat; z: GLfloat); extdecl;
  1774. glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(
  1775. const rc: PGLenum; const t: PGLfloat; const n: PGLfloat; const v: PGLfloat); extdecl;
  1776. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: procedure(rc: GLenum;
  1777. s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat;
  1778. nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); extdecl;
  1779. glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(
  1780. const rc: PGLenum; const t: PGLfloat; const c: PGLfloat; const n: PGLfloat;
  1781. const v: PGLfloat); extdecl;
  1782. //*** EXT_blend_func_separate
  1783. const
  1784. GL_BLEND_DST_RGB_EXT = $80C8;
  1785. GL_BLEND_SRC_RGB_EXT = $80C9;
  1786. GL_BLEND_DST_ALPHA_EXT = $80CA;
  1787. GL_BLEND_SRC_ALPHA_EXT = $80CB;
  1788. var
  1789. glBlendFuncSeparateEXT: procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: GLenum); extdecl;
  1790. //*** INGR_color_clamp
  1791. const
  1792. GL_RED_MIN_CLAMP_INGR = $8560;
  1793. GL_GREEN_MIN_CLAMP_INGR = $8561;
  1794. GL_BLUE_MIN_CLAMP_INGR = $8562;
  1795. GL_ALPHA_MIN_CLAMP_INGR = $8563;
  1796. GL_RED_MAX_CLAMP_INGR = $8564;
  1797. GL_GREEN_MAX_CLAMP_INGR = $8565;
  1798. GL_BLUE_MAX_CLAMP_INGR = $8566;
  1799. GL_ALPHA_MAX_CLAMP_INGR = $8567;
  1800. //*** INGR_interlace_read
  1801. const
  1802. GL_INTERLACE_READ_INGR = $8568;
  1803. //*** EXT_stencil_wrap
  1804. const
  1805. GL_INCR_WRAP_EXT = $8507;
  1806. GL_DECR_WRAP_EXT = $8508;
  1807. //*** EXT_422_pixels
  1808. const
  1809. GL_422_EXT = $80CC;
  1810. GL_422_REV_EXT = $80CD;
  1811. GL_422_AVERAGE_EXT = $80CE;
  1812. GL_422_REV_AVERAGE_EXT = $80CF;
  1813. //*** NV_texgen_reflection
  1814. const
  1815. GL_NORMAL_MAP_NV = $8511;
  1816. GL_REFLECTION_MAP_NV = $8512;
  1817. //*** EXT_texture_cube_map
  1818. const
  1819. GL_NORMAL_MAP_EXT = $8511;
  1820. GL_REFLECTION_MAP_EXT = $8512;
  1821. GL_TEXTURE_CUBE_MAP_EXT = $8513;
  1822. GL_TEXTURE_BINDING_CUBE_MAP_EXT = $8514;
  1823. GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = $8515;
  1824. GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = $8516;
  1825. GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = $8517;
  1826. GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = $8518;
  1827. GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = $8519;
  1828. GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = $851A;
  1829. GL_PROXY_TEXTURE_CUBE_MAP_EXT = $851B;
  1830. GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = $851C;
  1831. //*** SUN_convolution_border_modes
  1832. const
  1833. GL_WRAP_BORDER_SUN = $81D4;
  1834. //*** EXT_texture_env_add
  1835. //*** EXT_texture_lod_bias
  1836. const
  1837. GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
  1838. GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
  1839. GL_TEXTURE_LOD_BIAS_EXT = $8501;
  1840. //*** EXT_texture_filter_anisotropic
  1841. const
  1842. GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
  1843. GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
  1844. //*** EXT_vertex_weighting
  1845. const
  1846. GL_MODELVIEW0_STACK_DEPTH_EXT = GL_MODELVIEW_STACK_DEPTH;
  1847. GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
  1848. GL_MODELVIEW0_MATRIX_EXT = GL_MODELVIEW_MATRIX;
  1849. GL_MODELVIEW_MATRIX1_EXT = $8506;
  1850. GL_VERTEX_WEIGHTING_EXT = $8509;
  1851. GL_MODELVIEW0_EXT = GL_MODELVIEW;
  1852. GL_MODELVIEW1_EXT = $850A;
  1853. GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
  1854. GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
  1855. GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
  1856. GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
  1857. GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
  1858. GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
  1859. var
  1860. glVertexWeightfEXT: procedure(weight: GLfloat); extdecl;
  1861. glVertexWeightfvEXT: procedure(const weight: PGLfloat); extdecl;
  1862. glVertexWeightPointerEXT: procedure(size: GLsizei; atype: GLenum;
  1863. stride: GLsizei; const ptr: Pointer); extdecl;
  1864. //*** NV_light_max_exponent
  1865. const
  1866. GL_MAX_SHININESS_NV = $8504;
  1867. GL_MAX_SPOT_EXPONENT_NV = $8505;
  1868. //*** NV_vertex_array_range
  1869. const
  1870. GL_VERTEX_ARRAY_RANGE_NV = $851D;
  1871. GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
  1872. GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
  1873. GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
  1874. GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
  1875. var
  1876. glFlushVertexArrayRangeNV: procedure; extdecl;
  1877. glVertexArrayRangeNV: procedure(size: GLsizei; const ptr: Pointer); extdecl;
  1878. {$IFDEF Win32}
  1879. wglAllocateMemoryNV: function(size: GLsizei; readFrequency, writeFrequency,
  1880. priority: Single): Pointer; extdecl;
  1881. wglFreeMemoryNV: procedure(ptr: Pointer); extdecl;
  1882. {$ENDIF}
  1883. //*** NV_register_combiners
  1884. const
  1885. GL_REGISTER_COMBINERS_NV = $8522;
  1886. GL_VARIABLE_A_NV = $8523;
  1887. GL_VARIABLE_B_NV = $8524;
  1888. GL_VARIABLE_C_NV = $8525;
  1889. GL_VARIABLE_D_NV = $8526;
  1890. GL_VARIABLE_E_NV = $8527;
  1891. GL_VARIABLE_F_NV = $8528;
  1892. GL_VARIABLE_G_NV = $8529;
  1893. GL_CONSTANT_COLOR0_NV = $852A;
  1894. GL_CONSTANT_COLOR1_NV = $852B;
  1895. GL_PRIMARY_COLOR_NV = $852C;
  1896. GL_SECONDARY_COLOR_NV = $852D;
  1897. GL_SPARE0_NV = $852E;
  1898. GL_SPARE1_NV = $852F;
  1899. GL_DISCARD_NV = $8530;
  1900. GL_E_TIMES_F_NV = $8531;
  1901. GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
  1902. GL_UNSIGNED_IDENTITY_NV = $8536;
  1903. GL_UNSIGNED_INVERT_NV = $8537;
  1904. GL_EXPAND_NORMAL_NV = $8538;
  1905. GL_EXPAND_NEGATE_NV = $8539;
  1906. GL_HALF_BIAS_NORMAL_NV = $853A;
  1907. GL_HALF_BIAS_NEGATE_NV = $853B;
  1908. GL_SIGNED_IDENTITY_NV = $853C;
  1909. GL_SIGNED_NEGATE_NV = $853D;
  1910. GL_SCALE_BY_TWO_NV = $853E;
  1911. GL_SCALE_BY_FOUR_NV = $853F;
  1912. GL_SCALE_BY_ONE_HALF_NV = $8540;
  1913. GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
  1914. GL_COMBINER_INPUT_NV = $8542;
  1915. GL_COMBINER_MAPPING_NV = $8543;
  1916. GL_COMBINER_COMPONENT_USAGE_NV = $8544;
  1917. GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
  1918. GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
  1919. GL_COMBINER_MUX_SUM_NV = $8547;
  1920. GL_COMBINER_SCALE_NV = $8548;
  1921. GL_COMBINER_BIAS_NV = $8549;
  1922. GL_COMBINER_AB_OUTPUT_NV = $854A;
  1923. GL_COMBINER_CD_OUTPUT_NV = $854B;
  1924. GL_COMBINER_SUM_OUTPUT_NV = $854C;
  1925. GL_MAX_GENERAL_COMBINERS_NV = $854D;
  1926. GL_NUM_GENERAL_COMBINERS_NV = $854E;
  1927. GL_COLOR_SUM_CLAMP_NV = $854F;
  1928. GL_COMBINER0_NV = $8550;
  1929. GL_COMBINER1_NV = $8551;
  1930. GL_COMBINER2_NV = $8552;
  1931. GL_COMBINER3_NV = $8553;
  1932. GL_COMBINER4_NV = $8554;
  1933. GL_COMBINER5_NV = $8555;
  1934. GL_COMBINER6_NV = $8556;
  1935. GL_COMBINER7_NV = $8557;
  1936. var
  1937. glCombinerParameterfvNV: procedure(pname: GLenum; const params: PGLfloat); extdecl;
  1938. glCombinerParameterfNV: procedure(pname: GLenum; param: GLfloat); extdecl;
  1939. glCombinerParameterivNV: procedure(pname: GLenum; const params: PGLint); extdecl;
  1940. glCombinerParameteriNV: procedure(pname: GLenum; param: GLint); extdecl;
  1941. glCombinerInputNV: procedure(
  1942. stage, portion, variable, input, mapping, componentUsage: GLenum); extdecl;
  1943. glCombinerOutputNV: procedure(
  1944. stage, portion, abOutput, cdOutput, sumOutput, scale, bias: GLenum;
  1945. abDotProduct, cdDotProduct, muxSum: GLboolean); extdecl;
  1946. glFinalCombinerInputNV: procedure(
  1947. variable, input, mapping, componentUsage: GLenum); extdecl;
  1948. glGetCombinerInputParameterfvNV: procedure(
  1949. stage, portion, variable, pname: GLenum; params: PGLfloat); extdecl;
  1950. glGetCombinerInputParameterivNV: procedure(
  1951. stage, portion, variable, pname: GLenum; params: PGLint); extdecl;
  1952. glGetCombinerOutputParameterfvNV: procedure(stage, portion, pname: GLenum;
  1953. params: PGLfloat); extdecl;
  1954. glGetCombinerOutputParameterivNV: procedure(stage, portion, pname: GLenum;
  1955. params: PGLint); extdecl;
  1956. glGetFinalCombinerInputParameterfvNV: procedure( variable, pname: GLenum;
  1957. params: PGLfloat); extdecl;
  1958. glGetFinalCombinerInputParameterivNV: procedure(variable, pname: GLenum;
  1959. params: PGLint); extdecl;
  1960. //*** NV_fog_distance
  1961. const
  1962. GL_FOG_DISTANCE_MODE_NV = $855A;
  1963. GL_EYE_RADIAL_NV = $855B;
  1964. GL_EYE_PLANE_ABSOLUTE_NV = $855C;
  1965. //*** NV_texgen_emboss
  1966. const
  1967. GL_EMBOSS_LIGHT_NV = $855D;
  1968. GL_EMBOSS_CONSTANT_NV = $855E;
  1969. GL_EMBOSS_MAP_NV = $855F;
  1970. //*** NV_blend_square
  1971. //*** NV_texture_env_combine4
  1972. const
  1973. GL_COMBINE4_NV = $8503;
  1974. GL_SOURCE3_RGB_NV = $8583;
  1975. GL_SOURCE3_ALPHA_NV = $858B;
  1976. GL_OPERAND3_RGB_NV = $8593;
  1977. GL_OPERAND3_ALPHA_NV = $859B;
  1978. //*** MESA_resize_buffers
  1979. var
  1980. glResizeBuffersMESA: procedure; extdecl;
  1981. //*** MESA_window_pos
  1982. var
  1983. glWindowPos2dMESA: procedure(x, y: GLdouble); extdecl;
  1984. glWindowPos2dvMESA: procedure(const v: PGLdouble); extdecl;
  1985. glWindowPos2fMESA: procedure(x, y: GLfloat); extdecl;
  1986. glWindowPos2fvMESA: procedure(const v: PGLfloat); extdecl;
  1987. glWindowPos2iMESA: procedure(x, y: GLint); extdecl;
  1988. glWindowPos2ivMESA: procedure(const v: PGLint); extdecl;
  1989. glWindowPos2sMESA: procedure(x, y: GLshort); extdecl;
  1990. glWindowPos2svMESA: procedure(const v: PGLshort); extdecl;
  1991. glWindowPos3dMESA: procedure(x, y, z: GLdouble); extdecl;
  1992. glWindowPos3dvMESA: procedure(const v: PGLdouble); extdecl;
  1993. glWindowPos3fMESA: procedure(x, y, z: GLfloat); extdecl;
  1994. glWindowPos3fvMESA: procedure(const v: PGLfloat); extdecl;
  1995. glWindowPos3iMESA: procedure(x, y, z: GLint); extdecl;
  1996. glWindowPos3ivMESA: procedure(const v: PGLint); extdecl;
  1997. glWindowPos3sMESA: procedure(x, y, z: GLshort); extdecl;
  1998. glWindowPos3svMESA: procedure(const v: PGLshort); extdecl;
  1999. glWindowPos4dMESA: procedure(x, y, z, w: GLdouble); extdecl;
  2000. glWindowPos4dvMESA: procedure(const v: PGLdouble); extdecl;
  2001. glWindowPos4fMESA: procedure(x, y, z, w: GLfloat); extdecl;
  2002. glWindowPos4fvMESA: procedure(const v: PGLfloat); extdecl;
  2003. glWindowPos4iMESA: procedure(x, y, z, w: GLint); extdecl;
  2004. glWindowPos4ivMESA: procedure(const v: PGLint); extdecl;
  2005. glWindowPos4sMESA: procedure(x, y, z, w: GLshort); extdecl;
  2006. glWindowPos4svMESA: procedure(const v: PGLshort); extdecl;
  2007. //*** EXT_texture_compression_s3tc
  2008. const
  2009. GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
  2010. GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
  2011. GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
  2012. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
  2013. //*** IBM_cull_vertex
  2014. const
  2015. GL_CULL_VERTEX_IBM = 103050;
  2016. //*** IBM_multimode_draw_arrays
  2017. var
  2018. glMultiModeDrawArraysIBM: procedure(mode: GLenum; const first: PGLint;
  2019. const count: PGLsizei; primcount: GLsizei; modestride: GLint); extdecl;
  2020. glMultiModeDrawElementsIBM: procedure(const mode: PGLenum;
  2021. const count: PGLsizei; atype: GLenum; const indices: PPointer;
  2022. primcount: GLsizei; modestride: GLint); extdecl;
  2023. //*** IBM_vertex_array_lists
  2024. const
  2025. GL_VERTEX_ARRAY_LIST_IBM = 103070;
  2026. GL_NORMAL_ARRAY_LIST_IBM = 103071;
  2027. GL_COLOR_ARRAY_LIST_IBM = 103072;
  2028. GL_INDEX_ARRAY_LIST_IBM = 103073;
  2029. GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
  2030. GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
  2031. GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
  2032. GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
  2033. GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
  2034. GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
  2035. GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
  2036. GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
  2037. GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
  2038. GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
  2039. GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
  2040. GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
  2041. type
  2042. PPGLboolean = ^PGLboolean;
  2043. var
  2044. glColorPointerListIBM: procedure(size: GLint; atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2045. glSecondaryColorPointerListIBM: procedure(size: GLint; atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2046. glEdgeFlagPointerListIBM: procedure(stride: GLint; const ptr: PPGLboolean; ptrstride: GLint); extdecl;
  2047. glFogCoordPointerListIBM: procedure(atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2048. glIndexPointerListIBM: procedure(atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2049. glNormalPointerListIBM: procedure(atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2050. glTexCoordPointerListIBM: procedure(size: GLint; atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2051. glVertexPointerListIBM: procedure(size: GLint; atype: GLenum; stride: GLint; const ptr: PPointer; ptrstride: GLint); extdecl;
  2052. //*** SGIX_subsample
  2053. const
  2054. GL_PACK_SUBSAMPLE_RATE_SGIX = $85A0;
  2055. GL_UNPACK_SUBSAMPLE_RATE_SGIX = $85A1;
  2056. GL_PIXEL_SUBSAMPLE_4444_SGIX = $85A2;
  2057. GL_PIXEL_SUBSAMPLE_2424_SGIX = $85A3;
  2058. GL_PIXEL_SUBSAMPLE_4242_SGIX = $85A4;
  2059. //*** SGIX_ycrcb_subsample
  2060. //*** SGIX_ycrcba
  2061. const
  2062. GL_YCRCB_SGIX = $8318;
  2063. GL_YCRCBA_SGIX = $8319;
  2064. //*** SGI_depth_pass_instrument
  2065. const
  2066. GL_DEPTH_PASS_INSTRUMENT_SGIX = $8310;
  2067. GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = $8311;
  2068. GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = $8312;
  2069. //*** 3DFX_texture_compression_FXT1
  2070. const
  2071. GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
  2072. GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
  2073. //*** 3DFX_multisample
  2074. const
  2075. GL_MULTISAMPLE_3DFX = $86B2;
  2076. GL_SAMPLE_BUFFERS_3DFX = $86B3;
  2077. GL_SAMPLES_3DFX = $86B4;
  2078. GL_MULTISAMPLE_BIT_3DFX = $20000000;
  2079. //*** 3DFX_tbuffer
  2080. var
  2081. glTbufferMask3DFX: procedure(mask: GLuint); extdecl;
  2082. //*** EXT_multisample
  2083. const
  2084. GL_MULTISAMPLE_EXT = $809D;
  2085. GL_SAMPLE_ALPHA_TO_MASK_EXT = $809E;
  2086. GL_SAMPLE_ALPHA_TO_ONE_EXT = $809F;
  2087. GL_SAMPLE_MASK_EXT = $80A0;
  2088. GL_1PASS_EXT = $80A1;
  2089. GL_2PASS_0_EXT = $80A2;
  2090. GL_2PASS_1_EXT = $80A3;
  2091. GL_4PASS_0_EXT = $80A4;
  2092. GL_4PASS_1_EXT = $80A5;
  2093. GL_4PASS_2_EXT = $80A6;
  2094. GL_4PASS_3_EXT = $80A7;
  2095. GL_SAMPLE_BUFFERS_EXT = $80A8;
  2096. GL_SAMPLES_EXT = $80A9;
  2097. GL_SAMPLE_MASK_VALUE_EXT = $80AA;
  2098. GL_SAMPLE_MASK_INVERT_EXT = $80AB;
  2099. GL_SAMPLE_PATTERN_EXT = $80AC;
  2100. var
  2101. glSampleMaskEXT: procedure(value: GLclampf; invert: GLboolean); extdecl;
  2102. glSamplePatternEXT: procedure(pattern: GLenum); extdecl;
  2103. //*** SGIX_vertex_preclip
  2104. const
  2105. GL_VERTEX_PRECLIP_SGIX = $83EE;
  2106. GL_VERTEX_PRECLIP_HINT_SGIX = $83EF;
  2107. //*** SGIX_convolution_accuracy
  2108. const
  2109. GL_CONVOLUTION_HINT_SGIX = $8316;
  2110. //*** SGIX_resample
  2111. const
  2112. GL_PACK_RESAMPLE_SGIX = $842C;
  2113. GL_UNPACK_RESAMPLE_SGIX = $842D;
  2114. GL_RESAMPLE_REPLICATE_SGIX = $842E;
  2115. GL_RESAMPLE_ZERO_FILL_SGIX = $842F;
  2116. GL_RESAMPLE_DECIMATE_SGIX = $8430;
  2117. //*** SGIS_point_line_texgen
  2118. const
  2119. GL_EYE_DISTANCE_TO_POINT_SGIS = $81F0;
  2120. GL_OBJECT_DISTANCE_TO_POINT_SGIS = $81F1;
  2121. GL_EYE_DISTANCE_TO_LINE_SGIS = $81F2;
  2122. GL_OBJECT_DISTANCE_TO_LINE_SGIS = $81F3;
  2123. GL_EYE_POINT_SGIS = $81F4;
  2124. GL_OBJECT_POINT_SGIS = $81F5;
  2125. GL_EYE_LINE_SGIS = $81F6;
  2126. GL_OBJECT_LINE_SGIS = $81F7;
  2127. //*** SGIS_texture_color_mask
  2128. const
  2129. GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
  2130. var
  2131. glTextureColorMaskSGIS: procedure(r, g, b, a: GLboolean); extdecl;
  2132. //*** ARB_texture_border_clamp
  2133. const
  2134. GL_CLAMP_TO_BORDER_ARB = $812D;
  2135. //*** NV_vertex_program
  2136. const
  2137. GL_VERTEX_PROGRAM_NV = $8620;
  2138. GL_VERTEX_STATE_PROGRAM_NV = $8621;
  2139. GL_ATTRIB_ARRAY_SIZE_NV = $8623;
  2140. GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
  2141. GL_ATTRIB_ARRAY_TYPE_NV = $8625;
  2142. GL_CURRENT_ATTRIB_NV = $8626;
  2143. GL_PROGRAM_LENGTH_NV = $8627;
  2144. GL_PROGRAM_STRING_NV = $8628;
  2145. GL_MODELVIEW_PROJECTION_NV = $8629;
  2146. GL_IDENTITY_NV = $862A;
  2147. GL_INVERSE_NV = $862B;
  2148. GL_TRANSPOSE_NV = $862C;
  2149. GL_INVERSE_TRANSPOSE_NV = $862D;
  2150. GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
  2151. GL_MAX_TRACK_MATRICES_NV = $862F;
  2152. GL_MATRIX0_NV = $8630;
  2153. GL_MATRIX1_NV = $8631;
  2154. GL_MATRIX2_NV = $8632;
  2155. GL_MATRIX3_NV = $8633;
  2156. GL_MATRIX4_NV = $8634;
  2157. GL_MATRIX5_NV = $8635;
  2158. GL_MATRIX6_NV = $8636;
  2159. GL_MATRIX7_NV = $8637;
  2160. GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
  2161. GL_CURRENT_MATRIX_NV = $8641;
  2162. GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
  2163. GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
  2164. GL_PROGRAM_PARAMETER_NV = $8644;
  2165. GL_ATTRIB_ARRAY_POINTER_NV = $8645;
  2166. GL_PROGRAM_TARGET_NV = $8646;
  2167. GL_PROGRAM_RESIDENT_NV = $8647;
  2168. GL_TRACK_MATRIX_NV = $8648;
  2169. GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
  2170. GL_VERTEX_PROGRAM_BINDING_NV = $864A;
  2171. GL_PROGRAM_ERROR_POSITION_NV = $864B;
  2172. GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
  2173. GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
  2174. GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
  2175. GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
  2176. GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
  2177. GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
  2178. GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
  2179. GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
  2180. GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
  2181. GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
  2182. GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
  2183. GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
  2184. GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
  2185. GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
  2186. GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
  2187. GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
  2188. GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
  2189. GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
  2190. GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
  2191. GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
  2192. GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
  2193. GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
  2194. GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
  2195. GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
  2196. GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
  2197. GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
  2198. GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
  2199. GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
  2200. GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
  2201. GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
  2202. GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
  2203. GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
  2204. GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
  2205. GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
  2206. GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
  2207. GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
  2208. GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
  2209. GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
  2210. GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
  2211. GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
  2212. GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
  2213. GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
  2214. GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
  2215. GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
  2216. GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
  2217. GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
  2218. GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
  2219. GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
  2220. var
  2221. glAreProgramsResidentNV: function(n: GLsizei; const programs: PGLuint;
  2222. residences: PGLboolean): GLboolean; extdecl;
  2223. glBindProgramNV: procedure(target: GLenum; id: GLuint); extdecl;
  2224. glDeleteProgramsNV: procedure(n: GLsizei; const programs: PGLuint); extdecl;
  2225. glExecuteProgramNV: procedure(target: GLenum; id: GLuint; const params: PGLfloat); extdecl;
  2226. glGenProgramsNV: procedure(n: GLsizei; programs: PGLuint); extdecl;
  2227. glGetProgramParameterdvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
  2228. glGetProgramParameterfvNV: procedure(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
  2229. glGetProgramivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
  2230. glGetProgramStringNV: procedure(id: GLuint; pname: GLenum; aprogram: PGLubyte); extdecl;
  2231. glGetTrackMatrixivNV: procedure(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); extdecl;
  2232. glGetVertexAttribdvNV: procedure(index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
  2233. glGetVertexAttribfvNV: procedure(index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
  2234. glGetVertexAttribivNV: procedure(index: GLuint; pname: GLenum; params: PGLint); extdecl;
  2235. glGetVertexAttribPointervNV: procedure(index: GLuint; pname: GLenum; ptr: PPointer); extdecl;
  2236. glIsProgramNV: function(id: GLuint): GLboolean; extdecl;
  2237. glLoadProgramNV: procedure(target: GLenum; id: GLuint; len: GLsizei; const aprogram: PGLubyte); extdecl;
  2238. glProgramParameter4dNV: procedure(target: GLenum; index: GLuint; x, y, z, w: GLdouble); extdecl;
  2239. glProgramParameter4dvNV: procedure(target: GLenum; index: GLuint; const v: PGLdouble); extdecl;
  2240. glProgramParameter4fNV: procedure(target: GLenum; index: GLuint; x, y, z, w: GLfloat); extdecl;
  2241. glProgramParameter4fvNV: procedure(target: GLenum; index: GLuint; const v: PGLfloat); extdecl;
  2242. glProgramParameters4dvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLdouble); extdecl;
  2243. glProgramParameters4fvNV: procedure(target: GLenum; index: GLuint; count: GLsizei; const v: PGLfloat); extdecl;
  2244. glRequestResidentProgramsNV: procedure(n: GLsizei; const programs: PGLuint); extdecl;
  2245. glTrackMatrixNV: procedure(target: GLenum; address: GLuint; matrix, transform: GLenum); extdecl;
  2246. glVertexAttribPointerNV: procedure(index: GLuint; fsize: GLint; atype: GLenum; stride: GLsizei; const ptr: Pointer); extdecl;
  2247. glVertexAttrib1dNV: procedure(index: GLuint; x: GLdouble); extdecl;
  2248. glVertexAttrib1dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
  2249. glVertexAttrib1fNV: procedure(index: GLuint; x: GLfloat); extdecl;
  2250. glVertexAttrib1fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
  2251. glVertexAttrib1sNV: procedure(index: GLuint; x: GLshort); extdecl;
  2252. glVertexAttrib1svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
  2253. glVertexAttrib2dNV: procedure(index: GLuint; x, y: GLdouble); extdecl;
  2254. glVertexAttrib2dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
  2255. glVertexAttrib2fNV: procedure(index: GLuint; x, y: GLfloat); extdecl;
  2256. glVertexAttrib2fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
  2257. glVertexAttrib2sNV: procedure(index: GLuint; x, y: GLshort); extdecl;
  2258. glVertexAttrib2svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
  2259. glVertexAttrib3dNV: procedure(index: GLuint; x, y, z: GLdouble); extdecl;
  2260. glVertexAttrib3dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
  2261. glVertexAttrib3fNV: procedure(index: GLuint; x, y, z: GLfloat); extdecl;
  2262. glVertexAttrib3fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
  2263. glVertexAttrib3sNV: procedure(index: GLuint; x, y, z: GLshort); extdecl;
  2264. glVertexAttrib3svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
  2265. glVertexAttrib4dNV: procedure(index: GLuint; x, y, z, w: GLdouble); extdecl;
  2266. glVertexAttrib4dvNV: procedure(index: GLuint; const v: PGLdouble); extdecl;
  2267. glVertexAttrib4fNV: procedure(index: GLuint; x, y, z, w: GLfloat); extdecl;
  2268. glVertexAttrib4fvNV: procedure(index: GLuint; const v: PGLfloat); extdecl;
  2269. glVertexAttrib4sNV: procedure(index: GLuint; x, y, z, w: GLshort); extdecl;
  2270. glVertexAttrib4svNV: procedure(index: GLuint; const v: PGLshort); extdecl;
  2271. glVertexAttrib4ubvNV: procedure(index: GLuint; const v: PGLubyte); extdecl;
  2272. glVertexAttribs1dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); extdecl;
  2273. glVertexAttribs1fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); extdecl;
  2274. glVertexAttribs1svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); extdecl;
  2275. glVertexAttribs2dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); extdecl;
  2276. glVertexAttribs2fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); extdecl;
  2277. glVertexAttribs2svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); extdecl;
  2278. glVertexAttribs3dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); extdecl;
  2279. glVertexAttribs3fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); extdecl;
  2280. glVertexAttribs3svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); extdecl;
  2281. glVertexAttribs4dvNV: procedure(index: GLuint; count: GLsizei; const v: PGLdouble); extdecl;
  2282. glVertexAttribs4fvNV: procedure(index: GLuint; count: GLsizei; const v: PGLfloat); extdecl;
  2283. glVertexAttribs4svNV: procedure(index: GLuint; count: GLsizei; const v: PGLshort); extdecl;
  2284. glVertexAttribs4ubvNV: procedure(index: GLuint; count: GLsizei; const v: PGLubyte); extdecl;
  2285. //*** NV_evaluators
  2286. const
  2287. GL_EVAL_2D_NV = $86C0;
  2288. GL_EVAL_TRIANGULAR_2D_NV = $86C1;
  2289. GL_MAP_TESSELLATION_NV = $86C2;
  2290. GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
  2291. GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
  2292. GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
  2293. GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
  2294. GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
  2295. GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
  2296. GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
  2297. GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
  2298. GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
  2299. GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
  2300. GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
  2301. GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
  2302. GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
  2303. GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
  2304. GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
  2305. GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
  2306. GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
  2307. GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
  2308. GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
  2309. GL_MAX_MAP_TESSELLATION_NV = $86D6;
  2310. GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
  2311. var
  2312. glMapControlPointsNV: procedure(target: GLenum; index: GLuint; atype: GLenum;
  2313. ustride, vstride: GLsizei; uorder, vorder: GLint; apacked: GLboolean;
  2314. const points: Pointer); extdecl;
  2315. glMapParameterivNV: procedure(target, pname: GLenum; const params: PGLint); extdecl;
  2316. glMapParameterfvNV: procedure(target, pname: GLenum; const params: PGLfloat); extdecl;
  2317. glGetMapControlPointsNV: procedure(target: GLenum; index: GLuint;
  2318. atype: GLenum; ustride, vstride: GLsizei; apacked: GLboolean;
  2319. points: Pointer); extdecl;
  2320. glGetMapParameterivNV: procedure(target, pname: GLenum; params: PGLint); extdecl;
  2321. glGetMapParameterfvNV: procedure(target, pname: GLenum; params: PGLfloat); extdecl;
  2322. glGetMapAttribParameterivNV: procedure(target: GLenum; index: GLuint;
  2323. pname: GLenum; params: PGLint); extdecl;
  2324. glGetMapAttribParameterfvNV: procedure(target: GLenum; index: GLuint;
  2325. pname: GLenum; params: PGLfloat); extdecl;
  2326. glEvalMapsNV: procedure(target, mode: GLenum); extdecl;
  2327. //*** NV_texture_rectangle
  2328. const
  2329. GL_TEXTURE_RECTANGLE_NV = $84F5;
  2330. GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
  2331. GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
  2332. GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
  2333. //*** NV_texture_shader
  2334. const
  2335. GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
  2336. GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
  2337. GL_UNSIGNED_INT_S8_S8_8_8_REV_NV = $86DB;
  2338. GL_DSDT_MAG_INTENSITY_NV = $86DC;
  2339. GL_SHADER_CONSISTENT_NV = $86DD;
  2340. GL_TEXTURE_SHADER_NV = $86DE;
  2341. GL_SHADER_OPERATION_NV = $86DF;
  2342. GL_CULL_MODES_NV = $86E0;
  2343. GL_OFFSET_TEXTURE_2D_MATRIX_NV = $86E1;
  2344. GL_OFFSET_TEXTURE_2D_SCALE_NV = $86E2;
  2345. GL_OFFSET_TEXTURE_2D_BIAS_NV = $86E3;
  2346. GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
  2347. GL_CONST_EYE_NV = $86E5;
  2348. GL_PASS_THROUGH_NV = $86E6;
  2349. GL_CULL_FRAGMENT_NV = $86E7;
  2350. GL_OFFSET_TEXTURE_2D_NV = $86E8;
  2351. GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
  2352. GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
  2353. GL_DOT_PRODUCT_NV = $86EC;
  2354. GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
  2355. GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
  2356. GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
  2357. GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
  2358. GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
  2359. GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
  2360. GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
  2361. GL_HILO_NV = $86F4;
  2362. GL_DSDT_NV = $86F5;
  2363. GL_DSDT_MAG_NV = $86F6;
  2364. GL_DSDT_MAG_VIB_NV = $86F7;
  2365. GL_HILO16_NV = $86F8;
  2366. GL_SIGNED_HILO_NV = $86F9;
  2367. GL_SIGNED_HILO16_NV = $86FA;
  2368. GL_SIGNED_RGBA_NV = $86FB;
  2369. GL_SIGNED_RGBA8_NV = $86FC;
  2370. GL_SIGNED_RGB_NV = $86FE;
  2371. GL_SIGNED_RGB8_NV = $86FF;
  2372. GL_SIGNED_LUMINANCE_NV = $8701;
  2373. GL_SIGNED_LUMINANCE8_NV = $8702;
  2374. GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
  2375. GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
  2376. GL_SIGNED_ALPHA_NV = $8705;
  2377. GL_SIGNED_ALPHA8_NV = $8706;
  2378. GL_SIGNED_INTENSITY_NV = $8707;
  2379. GL_SIGNED_INTENSITY8_NV = $8708;
  2380. GL_DSDT8_NV = $8709;
  2381. GL_DSDT8_MAG8_NV = $870A;
  2382. GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
  2383. GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
  2384. GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
  2385. GL_HI_SCALE_NV = $870E;
  2386. GL_LO_SCALE_NV = $870F;
  2387. GL_DS_SCALE_NV = $8710;
  2388. GL_DT_SCALE_NV = $8711;
  2389. GL_MAGNITUDE_SCALE_NV = $8712;
  2390. GL_VIBRANCE_SCALE_NV = $8713;
  2391. GL_HI_BIAS_NV = $8714;
  2392. GL_LO_BIAS_NV = $8715;
  2393. GL_DS_BIAS_NV = $8716;
  2394. GL_DT_BIAS_NV = $8717;
  2395. GL_MAGNITUDE_BIAS_NV = $8718;
  2396. GL_VIBRANCE_BIAS_NV = $8719;
  2397. GL_TEXTURE_BORDER_VALUES_NV = $871A;
  2398. GL_TEXTURE_HI_SIZE_NV = $871B;
  2399. GL_TEXTURE_LO_SIZE_NV = $871C;
  2400. GL_TEXTURE_DS_SIZE_NV = $871D;
  2401. GL_TEXTURE_DT_SIZE_NV = $871E;
  2402. GL_TEXTURE_MAG_SIZE_NV = $871F;
  2403. //*** NV_register_combiners2
  2404. const
  2405. GL_PER_STAGE_CONSTANTS_NV = $8535;
  2406. var
  2407. glCombinerStageParameterfvNV: procedure(stage, pname: GLenum;
  2408. const params: PGLfloat); extdecl;
  2409. glGetCombinerStageParameterfvNV: procedure(stage, pname: GLenum;
  2410. params: PGLfloat); extdecl;
  2411. //*** NV_packed_depth_stencil
  2412. const
  2413. GL_DEPTH_STENCIL_NV = $84F9;
  2414. GL_UNSIGNED_INT_24_8_NV = $84FA;
  2415. //*** NV_fence
  2416. const
  2417. GL_ALL_COMPLETED_NV = $84F2;
  2418. GL_FENCE_STATUS_NV = $84F3;
  2419. GL_FENCE_CONDITION_NV = $84F4;
  2420. var
  2421. glGenFencesNV: procedure(n: GLsizei; fences: PGLuint); extdecl;
  2422. glDeleteFencesNV: procedure(n: GLsizei; const fences: PGLuint); extdecl;
  2423. glSetFenceNV: procedure(fence: GLuint; condition: GLenum); extdecl;
  2424. glTestFenceNV: function(fence: GLuint): GLboolean; extdecl;
  2425. glFinishFenceNV: procedure(fence: GLuint); extdecl;
  2426. glIsFenceNV: function(fence: GLuint): GLboolean; extdecl;
  2427. glGetFenceivNV: procedure(fence: GLuint; pname: GLenum; params: PGLint); extdecl;
  2428. //*** SGIX_texture_coordinate_clamp
  2429. const
  2430. GL_TEXTURE_MAX_CLAMP_S_SGIX = $8369;
  2431. GL_TEXTURE_MAX_CLAMP_T_SGIX = $836A;
  2432. GL_TEXTURE_MAX_CLAMP_R_SGIX = $836B;
  2433. //*** OML_interlace
  2434. const
  2435. GL_INTERLACE_OML = $8980;
  2436. GL_INTERLACE_READ_OML = $8981;
  2437. //*** OML_subsample
  2438. const
  2439. GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
  2440. GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
  2441. //*** OML_resample
  2442. const
  2443. GL_PACK_RESAMPLE_OML = $8984;
  2444. GL_UNPACK_RESAMPLE_OML = $8985;
  2445. GL_RESAMPLE_REPLICATE_OML = $8986;
  2446. GL_RESAMPLE_ZERO_FILL_OML = $8987;
  2447. GL_RESAMPLE_AVERAGE_OML = $8988;
  2448. GL_RESAMPLE_DECIMATE_OML = $8989;
  2449. //*** NV_COPY_DEPTH_TO_COLOR
  2450. const
  2451. GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
  2452. GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
  2453. //*** ATI_envmap_bumpmap
  2454. const
  2455. GL_BUMP_ROT_MATRIX_ATI = $8775;
  2456. GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
  2457. GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
  2458. GL_BUMP_TEX_UNITS_ATI = $8778;
  2459. GL_DUDV_ATI = $8779;
  2460. GL_DU8DV8_ATI = $877A;
  2461. GL_BUMP_ENVMAP_ATI = $877B;
  2462. GL_BUMP_TARGET_ATI = $877C;
  2463. var
  2464. glTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); extdecl;
  2465. glTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); extdecl;
  2466. glGetTexBumpParameterivATI: procedure(pname: GLenum; param: PGLint); extdecl;
  2467. glGetTexBumpParameterfvATI: procedure(pname: GLenum; param: PGLfloat); extdecl;
  2468. //*** ATI_fragment_shader
  2469. const
  2470. GL_FRAGMENT_SHADER_ATI = $8920;
  2471. GL_REG_0_ATI = $8921;
  2472. GL_REG_1_ATI = $8922;
  2473. GL_REG_2_ATI = $8923;
  2474. GL_REG_3_ATI = $8924;
  2475. GL_REG_4_ATI = $8925;
  2476. GL_REG_5_ATI = $8926;
  2477. GL_REG_6_ATI = $8927;
  2478. GL_REG_7_ATI = $8928;
  2479. GL_REG_8_ATI = $8929;
  2480. GL_REG_9_ATI = $892A;
  2481. GL_REG_10_ATI = $892B;
  2482. GL_REG_11_ATI = $892C;
  2483. GL_REG_12_ATI = $892D;
  2484. GL_REG_13_ATI = $892E;
  2485. GL_REG_14_ATI = $892F;
  2486. GL_REG_15_ATI = $8930;
  2487. GL_REG_16_ATI = $8931;
  2488. GL_REG_17_ATI = $8932;
  2489. GL_REG_18_ATI = $8933;
  2490. GL_REG_19_ATI = $8934;
  2491. GL_REG_20_ATI = $8935;
  2492. GL_REG_21_ATI = $8936;
  2493. GL_REG_22_ATI = $8937;
  2494. GL_REG_23_ATI = $8938;
  2495. GL_REG_24_ATI = $8939;
  2496. GL_REG_25_ATI = $893A;
  2497. GL_REG_26_ATI = $893B;
  2498. GL_REG_27_ATI = $893C;
  2499. GL_REG_28_ATI = $893D;
  2500. GL_REG_29_ATI = $893E;
  2501. GL_REG_30_ATI = $893F;
  2502. GL_REG_31_ATI = $8940;
  2503. GL_CON_0_ATI = $8941;
  2504. GL_CON_1_ATI = $8942;
  2505. GL_CON_2_ATI = $8943;
  2506. GL_CON_3_ATI = $8944;
  2507. GL_CON_4_ATI = $8945;
  2508. GL_CON_5_ATI = $8946;
  2509. GL_CON_6_ATI = $8947;
  2510. GL_CON_7_ATI = $8948;
  2511. GL_CON_8_ATI = $8949;
  2512. GL_CON_9_ATI = $894A;
  2513. GL_CON_10_ATI = $894B;
  2514. GL_CON_11_ATI = $894C;
  2515. GL_CON_12_ATI = $894D;
  2516. GL_CON_13_ATI = $894E;
  2517. GL_CON_14_ATI = $894F;
  2518. GL_CON_15_ATI = $8950;
  2519. GL_CON_16_ATI = $8951;
  2520. GL_CON_17_ATI = $8952;
  2521. GL_CON_18_ATI = $8953;
  2522. GL_CON_19_ATI = $8954;
  2523. GL_CON_20_ATI = $8955;
  2524. GL_CON_21_ATI = $8956;
  2525. GL_CON_22_ATI = $8957;
  2526. GL_CON_23_ATI = $8958;
  2527. GL_CON_24_ATI = $8959;
  2528. GL_CON_25_ATI = $895A;
  2529. GL_CON_26_ATI = $895B;
  2530. GL_CON_27_ATI = $895C;
  2531. GL_CON_28_ATI = $895D;
  2532. GL_CON_29_ATI = $895E;
  2533. GL_CON_30_ATI = $895F;
  2534. GL_CON_31_ATI = $8960;
  2535. GL_MOV_ATI = $8961;
  2536. GL_ADD_ATI = $8963;
  2537. GL_MUL_ATI = $8964;
  2538. GL_SUB_ATI = $8965;
  2539. GL_DOT3_ATI = $8966;
  2540. GL_DOT4_ATI = $8967;
  2541. GL_MAD_ATI = $8968;
  2542. GL_LERP_ATI = $8969;
  2543. GL_CND_ATI = $896A;
  2544. GL_CND0_ATI = $896B;
  2545. GL_DOT2_ADD_ATI = $896C;
  2546. GL_SECONDARY_INTERPOLATOR_ATI = $896D;
  2547. GL_NUM_FRAGMENT_REGISTERS_ATI = $896E;
  2548. GL_NUM_FRAGMENT_CONSTANTS_ATI = $896F;
  2549. GL_NUM_PASSES_ATI = $8970;
  2550. GL_NUM_INSTRUCTIONS_PER_PASS_ATI = $8971;
  2551. GL_NUM_INSTRUCTIONS_TOTAL_ATI = $8972;
  2552. GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = $8973;
  2553. GL_NUM_LOOPBACK_COMPONENTS_ATI = $8974;
  2554. GL_COLOR_ALPHA_PAIRING_ATI = $8975;
  2555. GL_SWIZZLE_STR_ATI = $8976;
  2556. GL_SWIZZLE_STQ_ATI = $8977;
  2557. GL_SWIZZLE_STR_DR_ATI = $8978;
  2558. GL_SWIZZLE_STQ_DQ_ATI = $8979;
  2559. GL_SWIZZLE_STRQ_ATI = $897A;
  2560. GL_SWIZZLE_STRQ_DQ_ATI = $897B;
  2561. GL_RED_BIT_ATI = $00000001;
  2562. GL_GREEN_BIT_ATI = $00000002;
  2563. GL_BLUE_BIT_ATI = $00000004;
  2564. GL_2X_BIT_ATI = $00000001;
  2565. GL_4X_BIT_ATI = $00000002;
  2566. GL_8X_BIT_ATI = $00000004;
  2567. GL_HALF_BIT_ATI = $00000008;
  2568. GL_QUARTER_BIT_ATI = $00000010;
  2569. GL_EIGHTH_BIT_ATI = $00000020;
  2570. GL_SATURATE_BIT_ATI = $00000040;
  2571. GL_COMP_BIT_ATI = $00000002;
  2572. GL_NEGATE_BIT_ATI = $00000004;
  2573. GL_BIAS_BIT_ATI = $00000008;
  2574. var
  2575. glGenFragmentShadersATI: function(range: GLuint): GLuint; extdecl;
  2576. glBindFragmentShaderATI: procedure(id: GLuint); extdecl;
  2577. glDeleteFragmentShaderATI: procedure(id: GLuint); extdecl;
  2578. glBeginFragmentShaderATI: procedure; extdecl;
  2579. glEndFragmentShaderATI: procedure; extdecl;
  2580. glPassTexCoordATI: procedure(dst, coord: GLuint; swizzle: GLenum);
  2581. glSampleMapATI: procedure(dst, interp: GLuint; swizzle: GLenum); extdecl;
  2582. glColorFragmentOp1ATI: procedure(op: GLenum; dst, dstMask, dstMod, arg1,
  2583. arg1Rep, arg1Mod: GLuint); extdecl;
  2584. glColorFragmentOp2ATI: procedure(op: GLenum; dst, dstMask, dstMod, arg1,
  2585. arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod: GLuint); extdecl;
  2586. glColorFragmentOp3ATI: procedure(op: GLenum; dst, dstMask, dstMod, arg1,
  2587. arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod: GLuint); extdecl;
  2588. glAlphaFragmentOp1ATI: procedure(op: GLenum; dst, dstMod, arg1, arg1Rep,
  2589. arg1Mod: GLuint); extdecl;
  2590. glAlphaFragmentOp2ATI: procedure(op: GLenum; dst, dstMod, arg1, arg1Rep,
  2591. arg1Mod, arg2, arg2Rep, arg2Mod: GLuint); extdecl;
  2592. glAlphaFragmentOp3ATI: procedure(op: GLenum; dst, dstMod, arg1, arg1Rep,
  2593. arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod: GLuint); extdecl;
  2594. glSetFragmentShaderConstantATI: procedure(dst: GLuint; const value: PGLfloat); extdecl;
  2595. //*** ATI_pn_triangles
  2596. const
  2597. GL_PN_TRIANGLES_ATI = $87F0;
  2598. GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
  2599. GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
  2600. GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
  2601. GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
  2602. GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
  2603. GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
  2604. GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
  2605. GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
  2606. var
  2607. glPNTrianglesiATI: procedure(pname: GLenum; param: GLint); extdecl;
  2608. glPNTrianglesfATI: procedure(pname: GLenum; param: GLfloat) extdecl;
  2609. //*** ATI_vertex_array_object
  2610. const
  2611. GL_STATIC_ATI = $8760;
  2612. GL_DYNAMIC_ATI = $8761;
  2613. GL_PRESERVE_ATI = $8762;
  2614. GL_DISCARD_ATI = $8763;
  2615. GL_OBJECT_BUFFER_SIZE_ATI = $8764;
  2616. GL_OBJECT_BUFFER_USAGE_ATI = $8765;
  2617. GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
  2618. GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
  2619. var
  2620. glNewObjectBufferATI: function(size: GLsizei; const ptr: Pointer;
  2621. usage: GLenum): GLuint; extdecl;
  2622. glIsObjectBufferATI: function(buffer: GLuint): GLboolean; extdecl;
  2623. glUpdateObjectBufferATI: procedure(buffer, offset: GLuint; size: GLsizei;
  2624. const ptr: Pointer; preserve: GLenum); extdecl;
  2625. glGetObjectBufferfvATI: procedure(buffer: GLuint; pname: GLenum;
  2626. params: PGLfloat); extdecl;
  2627. glGetObjectBufferivATI: procedure(buffer: GLuint; pname: GLenum;
  2628. params: PGLint); extdecl;
  2629. glFreeObjectBufferATI: procedure(buffer: GLuint); extdecl;
  2630. glArrayObjectATI: procedure(aarray: GLenum; size: GLint; atype: GLenum;
  2631. stride: GLsizei; buffer, offset: GLuint); extdecl;
  2632. glGetArrayObjectfvATI: procedure(aarray, pname: GLenum; params: PGLfloat); extdecl;
  2633. glGetArrayObjectivATI: procedure(aarray, pname: GLenum; params: PGLint); extdecl;
  2634. glVariantArrayObjectATI: procedure(id: GLuint; atype: GLenum; stride: GLsizei;
  2635. buffer, offset: GLuint); extdecl;
  2636. glGetVariantArrayObjectfvATI: procedure(id: GLuint; pname: GLenum;
  2637. params: PGLfloat); extdecl;
  2638. glGetVariantArrayObjectivATI: procedure(id: GLuint; pname: GLenum;
  2639. params: PGLint); extdecl;
  2640. //*** EXT_vertex_shader
  2641. const
  2642. GL_VERTEX_SHADER_EXT = $8780;
  2643. GL_VARIANT_VALUE_EXT = $87e4;
  2644. GL_VARIANT_DATATYPE_EXT = $87e5;
  2645. GL_VARIANT_ARRAY_STRIDE_EXT = $87e6;
  2646. GL_VARIANT_ARRAY_TYPE_EXT = $87e7;
  2647. GL_VARIANT_ARRAY_EXT = $87e8;
  2648. GL_VARIANT_ARRAY_POINTER_EXT = $87e9;
  2649. GL_INVARIANT_VALUE_EXT = $87ea;
  2650. GL_INVARIANT_DATATYPE_EXT = $87eb;
  2651. GL_LOCAL_CONSTANT_VALUE_EXT = $87ec;
  2652. GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ed;
  2653. GL_OP_INDEX_EXT = $8782;
  2654. GL_OP_NEGATE_EXT = $8783;
  2655. GL_OP_DOT3_EXT = $8784;
  2656. GL_OP_DOT4_EXT = $8785;
  2657. GL_OP_MUL_EXT = $8786;
  2658. GL_OP_ADD_EXT = $8787;
  2659. GL_OP_MADD_EXT = $8788;
  2660. GL_OP_FRAC_EXT = $8789;
  2661. GL_OP_MAX_EXT = $878a;
  2662. GL_OP_MIN_EXT = $878b;
  2663. GL_OP_SET_GE_EXT = $878c;
  2664. GL_OP_SET_LT_EXT = $878d;
  2665. GL_OP_CLAMP_EXT = $878e;
  2666. GL_OP_FLOOR_EXT = $878f;
  2667. GL_OP_ROUND_EXT = $8790;
  2668. GL_OP_EXP_BASE_2_EXT = $8791;
  2669. GL_OP_LOG_BASE_2_EXT = $8792;
  2670. GL_OP_POWER_EXT = $8793;
  2671. GL_OP_RECIP_EXT = $8794;
  2672. GL_OP_RECIP_SQRT_EXT = $8795;
  2673. GL_OP_SUB_EXT = $8796;
  2674. GL_OP_CROSS_PRODUCT_EXT = $8797;
  2675. GL_OP_MULTIPLY_MATRIX_EXT = $8798;
  2676. GL_OP_MOV_EXT = $8799;
  2677. GL_OUTPUT_VERTEX_EXT = $879a;
  2678. GL_OUTPUT_COLOR0_EXT = $879b;
  2679. GL_OUTPUT_COLOR1_EXT = $879c;
  2680. GL_OUTPUT_TEXTURE_COORD0_EXT = $879d;
  2681. GL_OUTPUT_TEXTURE_COORD1_EXT = $879e;
  2682. GL_OUTPUT_TEXTURE_COORD2_EXT = $879f;
  2683. GL_OUTPUT_TEXTURE_COORD3_EXT = $87a0;
  2684. GL_OUTPUT_TEXTURE_COORD4_EXT = $87a1;
  2685. GL_OUTPUT_TEXTURE_COORD5_EXT = $87a2;
  2686. GL_OUTPUT_TEXTURE_COORD6_EXT = $87a3;
  2687. GL_OUTPUT_TEXTURE_COORD7_EXT = $87a4;
  2688. GL_OUTPUT_TEXTURE_COORD8_EXT = $87a5;
  2689. GL_OUTPUT_TEXTURE_COORD9_EXT = $87a6;
  2690. GL_OUTPUT_TEXTURE_COORD10_EXT = $87a7;
  2691. GL_OUTPUT_TEXTURE_COORD11_EXT = $87a8;
  2692. GL_OUTPUT_TEXTURE_COORD12_EXT = $87a9;
  2693. GL_OUTPUT_TEXTURE_COORD13_EXT = $87aa;
  2694. GL_OUTPUT_TEXTURE_COORD14_EXT = $87ab;
  2695. GL_OUTPUT_TEXTURE_COORD15_EXT = $87ac;
  2696. GL_OUTPUT_TEXTURE_COORD16_EXT = $87ad;
  2697. GL_OUTPUT_TEXTURE_COORD17_EXT = $87ae;
  2698. GL_OUTPUT_TEXTURE_COORD18_EXT = $87af;
  2699. GL_OUTPUT_TEXTURE_COORD19_EXT = $87b0;
  2700. GL_OUTPUT_TEXTURE_COORD20_EXT = $87b1;
  2701. GL_OUTPUT_TEXTURE_COORD21_EXT = $87b2;
  2702. GL_OUTPUT_TEXTURE_COORD22_EXT = $87b3;
  2703. GL_OUTPUT_TEXTURE_COORD23_EXT = $87b4;
  2704. GL_OUTPUT_TEXTURE_COORD24_EXT = $87b5;
  2705. GL_OUTPUT_TEXTURE_COORD25_EXT = $87b6;
  2706. GL_OUTPUT_TEXTURE_COORD26_EXT = $87b7;
  2707. GL_OUTPUT_TEXTURE_COORD27_EXT = $87b8;
  2708. GL_OUTPUT_TEXTURE_COORD28_EXT = $87b9;
  2709. GL_OUTPUT_TEXTURE_COORD29_EXT = $87ba;
  2710. GL_OUTPUT_TEXTURE_COORD30_EXT = $87bb;
  2711. GL_OUTPUT_TEXTURE_COORD31_EXT = $87bc;
  2712. GL_OUTPUT_FOG_EXT = $87bd;
  2713. GL_SCALAR_EXT = $87be;
  2714. GL_VECTOR_EXT = $87bf;
  2715. GL_MATRIX_EXT = $87c0;
  2716. GL_VARIANT_EXT = $87c1;
  2717. GL_INVARIANT_EXT = $87c2;
  2718. GL_LOCAL_CONSTANT_EXT = $87c3;
  2719. GL_LOCAL_EXT = $87c4;
  2720. GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87c5;
  2721. GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87c6;
  2722. GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87c7;
  2723. GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87c8;
  2724. GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87c9;
  2725. GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87ca;
  2726. GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87cb;
  2727. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87cc;
  2728. GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87cd;
  2729. GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87ce;
  2730. GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87cf;
  2731. GL_VERTEX_SHADER_VARIANTS_EXT = $87d0;
  2732. GL_VERTEX_SHADER_INVARIANTS_EXT = $87d1;
  2733. GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87d2;
  2734. GL_VERTEX_SHADER_LOCALS_EXT = $87d3;
  2735. GL_VERTEX_SHADER_BINDING_EXT = $8781;
  2736. GL_VERTEX_SHADER_OPTIMIZED_EXT = $87d4;
  2737. GL_X_EXT = $87d5;
  2738. GL_Y_EXT = $87d6;
  2739. GL_Z_EXT = $87d7;
  2740. GL_W_EXT = $87d8;
  2741. GL_NEGEXTVE_X_EXT = $87d9;
  2742. GL_NEGEXTVE_Y_EXT = $87da;
  2743. GL_NEGEXTVE_Z_EXT = $87db;
  2744. GL_NEGEXTVE_W_EXT = $87dc;
  2745. GL_NEGEXTVE_ONE_EXT = $87df;
  2746. GL_NORMALIZED_RANGE_EXT = $87e0;
  2747. GL_FULL_RANGE_EXT = $87e1;
  2748. GL_CURRENT_VERTEX_EXT = $87e2;
  2749. GL_MVP_MATRIX_EXT = $87e3;
  2750. var
  2751. glBeginVertexShaderEXT: procedure; extdecl;
  2752. glEndVertexShaderEXT: procedure; extdecl;
  2753. glBindVertexShaderEXT: procedure(id: GLuint); extdecl;
  2754. glGenVertexShadersEXT: function(range: GLuint): GLuint; extdecl;
  2755. glDeleteVertexShaderEXT: procedure(id: GLuint); extdecl;
  2756. glShaderOp1EXT: procedure(op: GLenum; res, arg1: GLuint); extdecl;
  2757. glShaderOp2EXT: procedure(op: GLenum; res, arg1, arg2: GLuint); extdecl;
  2758. glShaderOp3EXT: procedure(op: GLenum; res, arg1, arg2, arg3: GLuint); extdecl;
  2759. glSwizzleEXT: procedure(res, ain: GLuint; outX, outY, outZ, outW: GLenum); extdecl;
  2760. glWriteMaskEXT: procedure(res, ain: GLuint; outX, outY, outZ, outW: GLenum); extdecl;
  2761. glInsertComponentEXT: procedure(res, src, num: GLuint); extdecl;
  2762. glExtractComponentEXT: procedure(res, src, num: GLuint); extdecl;
  2763. glGenSymbolsEXT: function(datatype, storagetype, range: GLenum;
  2764. components: GLuint): GLuint; extdecl;
  2765. glSetInvariantEXT: procedure(id: GLuint; atype: GLenum; addr: Pointer); extdecl;
  2766. glSetLocalConstantEXT: procedure(id: GLuint; atype: GLenum; addr: Pointer); extdecl;
  2767. glVariantbvEXT: procedure(id: GLuint; addr: PGLbyte); extdecl;
  2768. glVariantsvEXT: procedure(id: GLuint; addr: PGLshort); extdecl;
  2769. glVariantivEXT: procedure(id: GLuint; addr: PGLint); extdecl;
  2770. glVariantfvEXT: procedure(id: GLuint; addr: PGLfloat); extdecl;
  2771. glVariantdvEXT: procedure(id: GLuint; addr: PGLdouble); extdecl;
  2772. glVariantubvEXT: procedure(id: GLuint; addr: PGLubyte); extdecl;
  2773. glVariantusvEXT: procedure(id: GLuint; addr: PGLushort); extdecl;
  2774. glVariantuivEXT: procedure(id: GLuint; addr: PGLuint); extdecl;
  2775. glVariantPointerEXT: procedure(id: GLuint; atype: GLenum; stride: GLuint;
  2776. addr: Pointer); extdecl;
  2777. glEnableVariantClientStateEXT: procedure(id: GLuint); extdecl;
  2778. glDisableVariantClientStateEXT: procedure(id: GLuint); extdecl;
  2779. glBindLightParameterEXT: function(light, value: GLenum): GLuint; extdecl;
  2780. glBindMaterialParameterEXT: function(face, value: GLenum): GLuint; extdecl;
  2781. glBindTexGenParameterEXT: function(aunit, coord, value: GLenum): GLuint; extdecl;
  2782. glBindTextureUnitParameterEXT: function(aunit, value: GLenum): GLuint; extdecl;
  2783. glBindParameterEXT: function(value: GLenum): GLuint; extdecl;
  2784. glIsVariantEnabledEXT: function(id: GLuint; cap: GLenum): GLboolean; extdecl;
  2785. glGetVariantBooleanvEXT: procedure(id: GLuint; value: GLenum;
  2786. data: PGLboolean); extdecl;
  2787. glGetVariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); extdecl;
  2788. glGetVariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); extdecl;
  2789. glGetVariantPointervEXT: procedure(id: GLuint; value: GLenum; data: PPointer); extdecl;
  2790. glGetInvariantBooleanvEXT: procedure(id: GLuint; value: GLenum;
  2791. data: PGLboolean); extdecl;
  2792. glGetInvariantIntegervEXT: procedure(id: GLuint; value: GLenum; data: PGLint); extdecl;
  2793. glGetInvariantFloatvEXT: procedure(id: GLuint; value: GLenum; data: PGLfloat); extdecl;
  2794. glGetLocalConstantBooleanvEXT: procedure(id: GLuint; value: GLenum;
  2795. data: PGLboolean); extdecl;
  2796. glGetLocalConstantIntegervEXT: procedure(id: GLuint; value: GLenum;
  2797. data: PGLint); extdecl;
  2798. glGetLocalConstantFloatvEXT: procedure(id: GLuint; value: GLenum;
  2799. data: PGLfloat); extdecl;
  2800. //*** ATI_vertex_streams
  2801. const
  2802. GL_MAX_VERTEX_STREAMS_ATI = $876B;
  2803. GL_VERTEX_STREAM0_ATI = $876C;
  2804. GL_VERTEX_STREAM1_ATI = $876D;
  2805. GL_VERTEX_STREAM2_ATI = $876E;
  2806. GL_VERTEX_STREAM3_ATI = $876F;
  2807. GL_VERTEX_STREAM4_ATI = $8770;
  2808. GL_VERTEX_STREAM5_ATI = $8771;
  2809. GL_VERTEX_STREAM6_ATI = $8772;
  2810. GL_VERTEX_STREAM7_ATI = $8773;
  2811. GL_VERTEX_SOURCE_ATI = $8774;
  2812. var
  2813. glVertexStream1s: procedure(stream: GLenum; coords: GLshort); extdecl;
  2814. glVertexStream1i: procedure(stream: GLenum; coords: GLint); extdecl;
  2815. glVertexStream1f: procedure(stream: GLenum; coords: GLfloat); extdecl;
  2816. glVertexStream1d: procedure(stream: GLenum; coords: GLdouble); extdecl;
  2817. glVertexStream2s: procedure(stream: GLenum; a, b: GLshort); extdecl;
  2818. glVertexStream2i: procedure(stream: GLenum; a, b: GLint); extdecl;
  2819. glVertexStream2f: procedure(stream: GLenum; a, b: GLfloat); extdecl;
  2820. glVertexStream2d: procedure(stream: GLenum; a, b: GLdouble); extdecl;
  2821. glVertexStream3s: procedure(stream: GLenum; a, b, c: GLshort); extdecl;
  2822. glVertexStream3i: procedure(stream: GLenum; a, b, c: GLint); extdecl;
  2823. glVertexStream3f: procedure(stream: GLenum; a, b, c: GLfloat); extdecl;
  2824. glVertexStream3d: procedure(stream: GLenum; a, b, c: GLdouble); extdecl;
  2825. glVertexStream4s: procedure(stream: GLenum; a, b, c, d: GLshort); extdecl;
  2826. glVertexStream4i: procedure(stream: GLenum; a, b, c, d: GLint); extdecl;
  2827. glVertexStream4f: procedure(stream: GLenum; a, b, c, d: GLfloat); extdecl;
  2828. glVertexStream4d: procedure(stream: GLenum; a, b, c, d: GLdouble); extdecl;
  2829. glVertexStream1sv: procedure(stream: GLenum; coords: PGLshort); extdecl;
  2830. glVertexStream1iv: procedure(stream: GLenum; coords: PGLint); extdecl;
  2831. glVertexStream1fv: procedure(stream: GLenum; coords: PGLfloat); extdecl;
  2832. glVertexStream1dv: procedure(stream: GLenum; coords: PGLdouble); extdecl;
  2833. glVertexStream2sv: procedure(stream: GLenum; coords: PGLshort); extdecl;
  2834. glVertexStream2iv: procedure(stream: GLenum; coords: PGLint); extdecl;
  2835. glVertexStream2fv: procedure(stream: GLenum; coords: PGLfloat); extdecl;
  2836. glVertexStream2dv: procedure(stream: GLenum; coords: PGLdouble); extdecl;
  2837. glVertexStream3sv: procedure(stream: GLenum; coords: PGLshort); extdecl;
  2838. glVertexStream3iv: procedure(stream: GLenum; coords: PGLint); extdecl;
  2839. glVertexStream3fv: procedure(stream: GLenum; coords: PGLfloat); extdecl;
  2840. glVertexStream3dv: procedure(stream: GLenum; coords: PGLdouble); extdecl;
  2841. glVertexStream4sv: procedure(stream: GLenum; coords: PGLshort); extdecl;
  2842. glVertexStream4iv: procedure(stream: GLenum; coords: PGLint); extdecl;
  2843. glVertexStream4fv: procedure(stream: GLenum; coords: PGLfloat); extdecl;
  2844. glVertexStream4dv: procedure(stream: GLenum; coords: PGLdouble); extdecl;
  2845. glNormalStream3b: procedure(stream: GLenum; x, y, z: GLbyte); extdecl;
  2846. glNormalStream3s: procedure(stream: GLenum; x, y, z: GLshort); extdecl;
  2847. glNormalStream3i: procedure(stream: GLenum; x, y, z: GLint); extdecl;
  2848. glNormalStream3f: procedure(stream: GLenum; x, y, z: GLfloat); extdecl;
  2849. glNormalStream3d: procedure(stream: GLenum; x, y, z: GLdouble); extdecl;
  2850. glNormalStream3bv: procedure(stream: GLenum; coords: PGLbyte); extdecl;
  2851. glNormalStream3sv: procedure(stream: GLenum; coords: PGLshort); extdecl;
  2852. glNormalStream3iv: procedure(stream: GLenum; coords: PGLint); extdecl;
  2853. glNormalStream3fv: procedure(stream: GLenum; coords: PGLfloat); extdecl;
  2854. glNormalStream3dv: procedure(stream: GLenum; coords: PGLdouble); extdecl;
  2855. glClientActiveVertexStream: procedure(stream: GLenum); extdecl;
  2856. glVertexBlendEnvi: procedure(pname: GLenum; param: GLint); extdecl;
  2857. glVertexBlendEnvf: procedure(pname: GLenum; param: GLfloat); extdecl;
  2858. //*** NV_depth_clamp
  2859. const
  2860. GL_DEPTH_CLAMP_NV = $864F;
  2861. //*** NV_multisample_filter_hint
  2862. const
  2863. GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
  2864. //*** NV_occlusion_query
  2865. const
  2866. // GL_OCCLUSION_TEST_HP = $8165;
  2867. // GL_OCCLUSION_TEST_RESULT_HP = $8166;
  2868. GL_PIXEL_COUNTER_BITS_NV = $8864;
  2869. GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
  2870. GL_PIXEL_COUNT_NV = $8866;
  2871. GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
  2872. var
  2873. glGenOcclusionQueriesNV: procedure(n: GLsizei; ids: PGLuint); extdecl;
  2874. glDeleteOcclusionQueriesNV: procedure(n: GLsizei; const ids: PGLuint); extdecl;
  2875. glIsOcclusionQueryNV: function(id: GLuint): GLboolean; extdecl;
  2876. glBeginOcclusionQueryNV: procedure(id: GLuint); extdecl;
  2877. glEndOcclusionQueryNV: procedure; extdecl;
  2878. glGetOcclusionQueryivNV: procedure(id: GLuint; pname: GLenum; params: PGLint); extdecl;
  2879. glGetOcclusionQueryuivNV: procedure(id: GLuint; pname: GLenum; params: PGLuint); extdecl;
  2880. //*** NV_point_sprite
  2881. const
  2882. GL_POINT_SPRITE_NV = $8861;
  2883. GL_COORD_REPLACE_NV = $8862;
  2884. // GL_FALSE
  2885. // GL_TRUE
  2886. GL_POINT_SPRITE_R_MODE_NV = $8863;
  2887. // GL_ZERO
  2888. // GL_S
  2889. // GL_R
  2890. var
  2891. glPointParameteriNV: procedure(pname: GLenum; param: GLint); extdecl;
  2892. glPointParameterivNV: procedure(pname: GLenum; const params: PGLint); extdecl;
  2893. //*** NV_texture_shader3
  2894. const
  2895. GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
  2896. GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
  2897. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
  2898. GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
  2899. GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
  2900. GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
  2901. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
  2902. GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
  2903. GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
  2904. GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
  2905. GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
  2906. GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
  2907. GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
  2908. GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
  2909. GL_HILO8_NV = $885E;
  2910. GL_SIGNED_HILO8_NV = $885F;
  2911. GL_FORCE_BLUE_TO_ONE_NV = $8860;
  2912. //*** ARB_vertex_blend
  2913. const
  2914. GL_MAX_VERTEX_UNITS_ARB = $86A4;
  2915. GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
  2916. GL_WEIGHT_SUM_UNITY_ARB = $86A6;
  2917. GL_VERTEX_BLEND_ARB = $86A7;
  2918. GL_MODELVIEW0_ARB = $1700;
  2919. GL_MODELVIEW1_ARB = $850a;
  2920. GL_MODELVIEW2_ARB = $8722;
  2921. GL_MODELVIEW3_ARB = $8723;
  2922. GL_MODELVIEW4_ARB = $8724;
  2923. GL_MODELVIEW5_ARB = $8725;
  2924. GL_MODELVIEW6_ARB = $8726;
  2925. GL_MODELVIEW7_ARB = $8727;
  2926. GL_MODELVIEW8_ARB = $8728;
  2927. GL_MODELVIEW9_ARB = $8729;
  2928. GL_MODELVIEW10_ARB = $872A;
  2929. GL_MODELVIEW11_ARB = $872B;
  2930. GL_MODELVIEW12_ARB = $872C;
  2931. GL_MODELVIEW13_ARB = $872D;
  2932. GL_MODELVIEW14_ARB = $872E;
  2933. GL_MODELVIEW15_ARB = $872F;
  2934. GL_MODELVIEW16_ARB = $8730;
  2935. GL_MODELVIEW17_ARB = $8731;
  2936. GL_MODELVIEW18_ARB = $8732;
  2937. GL_MODELVIEW19_ARB = $8733;
  2938. GL_MODELVIEW20_ARB = $8734;
  2939. GL_MODELVIEW21_ARB = $8735;
  2940. GL_MODELVIEW22_ARB = $8736;
  2941. GL_MODELVIEW23_ARB = $8737;
  2942. GL_MODELVIEW24_ARB = $8738;
  2943. GL_MODELVIEW25_ARB = $8739;
  2944. GL_MODELVIEW26_ARB = $873A;
  2945. GL_MODELVIEW27_ARB = $873B;
  2946. GL_MODELVIEW28_ARB = $873C;
  2947. GL_MODELVIEW29_ARB = $873D;
  2948. GL_MODELVIEW30_ARB = $873E;
  2949. GL_MODELVIEW31_ARB = $873F;
  2950. GL_CURRENT_WEIGHT_ARB = $86A8;
  2951. GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
  2952. GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
  2953. GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
  2954. GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
  2955. GL_WEIGHT_ARRAY_ARB = $86AD;
  2956. var
  2957. glWeightbvARB: procedure(size: GLint; weights: GLbyte); extdecl;
  2958. glWeightsvARB: procedure(size: GLint; weights: GLshort); extdecl;
  2959. glWeightivARB: procedure(size: GLint; weights: GLint); extdecl;
  2960. glWeightfvARB: procedure(size: GLint; weights: GLfloat); extdecl;
  2961. glWeightdvARB: procedure(size: GLint; weights: GLdouble); extdecl;
  2962. glWeightubvARB: procedure(size: GLint; weights: GLubyte); extdecl;
  2963. glWeightusvARB: procedure(size: GLint; weights: GLushort); extdecl;
  2964. glWeightuivARB: procedure(size: GLint; weights: GLuint); extdecl;
  2965. glWeightPointerARB: procedure(size: GLint; atype: GLenum; stride: GLsizei;
  2966. ptr: Pointer); extdecl;
  2967. glVertexBlendARB: procedure(count: GLint); extdecl;
  2968. //*** ARB_matrix_palette
  2969. const
  2970. GL_MATRIX_PALETTE_ARB = $8840;
  2971. GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
  2972. GL_MAX_PALETTE_MATRICES_ARB = $8842;
  2973. GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
  2974. GL_MATRIX_INDEX_ARRAY_ARB = $8844;
  2975. GL_CURRENT_MATRIX_INDEX_ARB = $8845;
  2976. GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
  2977. GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
  2978. GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
  2979. GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
  2980. var
  2981. glCurrentPaletteMatrixARB: procedure(index: GLint); extdecl;
  2982. glMatrixIndexubvARB: procedure(size: GLint; indices: PGLubyte); extdecl;
  2983. glMatrixIndexusvARB: procedure(size: GLint; indices: PGLushort); extdecl;
  2984. glMatrixIndexuivARB: procedure(size: GLint; indices: PGLuint); extdecl;
  2985. glMatrixIndexPointerARB: procedure(size: Integer; atype: GLenum;
  2986. stride: GLsizei; ptr: Pointer); extdecl;
  2987. //*** ARB_texture_mirrored_repeat
  2988. const
  2989. GL_MIRRORED_REPEAT_ARB = $8370;
  2990. //*** ARB_depth_texture
  2991. const
  2992. GL_DEPTH_COMPONENT16_ARB = $81A5;
  2993. GL_DEPTH_COMPONENT24_ARB = $81A6;
  2994. GL_DEPTH_COMPONENT32_ARB = $81A7;
  2995. GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
  2996. GL_DEPTH_TEXTURE_MODE_ARB = $884B;
  2997. //*** ARB_shadow
  2998. const
  2999. GL_TEXTURE_COMPARE_MODE_ARB = $884C;
  3000. GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
  3001. GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
  3002. //*** ARB_shadow_ambient
  3003. const
  3004. GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
  3005. //*** ARB_window_pos
  3006. var
  3007. glWindowPos2dARB: procedure(x, y: GLdouble); extdecl;
  3008. glWindowPos2fARB: procedure(x, y: GLfloat); extdecl;
  3009. glWindowPos2iARB: procedure(x, y: GLint); extdecl;
  3010. glWindowPos2sARB: procedure(x, y: GLshort); extdecl;
  3011. glWindowPos2dvARB: procedure(const p: PGLdouble); extdecl;
  3012. glWindowPos2fvARB: procedure(const p: PGLfloat); extdecl;
  3013. glWindowPos2ivARB: procedure(const p: PGLint); extdecl;
  3014. glWindowPos2svARB: procedure(const p: PGLshort); extdecl;
  3015. glWindowPos3dARB: procedure(x, y, z: GLdouble); extdecl;
  3016. glWindowPos3fARB: procedure(x, y, z: GLfloat); extdecl;
  3017. glWindowPos3iARB: procedure(x, y, z: GLint); extdecl;
  3018. glWindowPos3sARB: procedure(x, y, z: GLshort); extdecl;
  3019. glWindowPos3dvARB: procedure(const p: PGLdouble); extdecl;
  3020. glWindowPos3fvARB: procedure(const p: PGLfloat); extdecl;
  3021. glWindowPos3ivARB: procedure(const p: PGLint); extdecl;
  3022. glWindowPos3svARB: procedure(const p: PGLshort); extdecl;
  3023. //*** ARB_vertex_program
  3024. var
  3025. glVertexAttrib1sARB: procedure(index: GLuint; x: GLshort); extdecl;
  3026. glVertexAttrib1fARB: procedure(index: GLuint; x: GLfloat); extdecl;
  3027. glVertexAttrib1dARB: procedure(index: GLuint; x: GLdouble); extdecl;
  3028. glVertexAttrib2sARB: procedure(index: GLuint; x, y: GLshort); extdecl;
  3029. glVertexAttrib2fARB: procedure(index: GLuint; x, y: GLfloat); extdecl;
  3030. glVertexAttrib2dARB: procedure(index: GLuint; x, y: GLdouble); extdecl;
  3031. glVertexAttrib3sARB: procedure(index: GLuint; x, y, z: GLshort); extdecl;
  3032. glVertexAttrib3fARB: procedure(index: GLuint; x, y, z: GLfloat); extdecl;
  3033. glVertexAttrib3dARB: procedure(index: GLuint; x, y, z: GLdouble); extdecl;
  3034. glVertexAttrib4sARB: procedure(index: GLuint; x, y, z, w: GLshort); extdecl;
  3035. glVertexAttrib4fARB: procedure(index: GLuint; x, y, z, w: GLfloat); extdecl;
  3036. glVertexAttrib4dARB: procedure(index: GLuint; x, y, z, w: GLdouble); extdecl;
  3037. glVertexAttrib4NubARB: procedure(index: GLuint; x, y, z, w: GLubyte); extdecl;
  3038. glVertexAttrib1svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
  3039. glVertexAttrib1fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
  3040. glVertexAttrib1dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
  3041. glVertexAttrib2svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
  3042. glVertexAttrib2fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
  3043. glVertexAttrib2dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
  3044. glVertexAttrib3svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
  3045. glVertexAttrib3fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
  3046. glVertexAttrib3dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
  3047. glVertexAttrib4bvARB: procedure(index: GLuint; const v: PGLbyte); extdecl;
  3048. glVertexAttrib4svARB: procedure(index: GLuint; const v: PGLshort); extdecl;
  3049. glVertexAttrib4ivARB: procedure(index: GLuint; const v: PGLint); extdecl;
  3050. glVertexAttrib4ubvARB: procedure(index: GLuint; const v: PGLubyte); extdecl;
  3051. glVertexAttrib4usvARB: procedure(index: GLuint; const v: PGLushort); extdecl;
  3052. glVertexAttrib4uivARB: procedure(index: GLuint; const v: PGLuint); extdecl;
  3053. glVertexAttrib4fvARB: procedure(index: GLuint; const v: PGLfloat); extdecl;
  3054. glVertexAttrib4dvARB: procedure(index: GLuint; const v: PGLdouble); extdecl;
  3055. glVertexAttrib4NbvARB: procedure(index: GLuint; const v: PGLbyte); extdecl;
  3056. glVertexAttrib4NsvARB: procedure(index: GLuint; const v: PGLshort); extdecl;
  3057. glVertexAttrib4NivARB: procedure(index: GLuint; const v: PGLint); extdecl;
  3058. glVertexAttrib4NubvARB: procedure(index: GLuint; const v: PGLubyte); extdecl;
  3059. glVertexAttrib4NusvARB: procedure(index: GLuint; const v: PGLushort); extdecl;
  3060. glVertexAttrib4NuivARB: procedure(index: GLuint; const v: PGLuint); extdecl;
  3061. glVertexAttribPointerARB: procedure(index: GLuint; size: Integer; atype: GLenum;
  3062. normalized: GLboolean; stride: GLsizei;
  3063. const ptr: Pointer); extdecl;
  3064. glEnableVertexAttribArrayARB: procedure(index: GLuint); extdecl;
  3065. glDisableVertexAttribArrayARB: procedure(index: GLuint); extdecl;
  3066. glProgramStringARB: procedure(target, format: GLenum; len: GLsizei;
  3067. const str: Pointer); extdecl;
  3068. glBindProgramARB: procedure(target: GLenum; prog: GLuint); extdecl;
  3069. glDeleteProgramsARB: procedure(n: GLsizei; const programs: PGLuint); extdecl;
  3070. glGenProgramsARB: procedure(n: GLsizei; programs: PGLuint); extdecl;
  3071. glProgramEnvParameter4dARB: procedure(target: GLenum; index: GLuint;
  3072. x, y, z, w: GLdouble); extdecl;
  3073. glProgramEnvParameter4dvARB: procedure(target: GLenum; index: GLuint;
  3074. const params: PGLdouble); extdecl;
  3075. glProgramEnvParameter4fARB: procedure(target: GLenum; index: GLuint;
  3076. x, y, z, w: GLfloat); extdecl;
  3077. glProgramEnvParameter4fvARB: procedure(target: GLenum; index: GLuint;
  3078. const params: PGLfloat); extdecl;
  3079. glProgramLocalParameter4dARB: procedure(target: GLenum; index: GLuint;
  3080. x, y, z, w: GLdouble); extdecl;
  3081. glProgramLocalParameter4dvARB: procedure(target: GLenum; index: GLuint;
  3082. const params: PGLdouble); extdecl;
  3083. glProgramLocalParameter4fARB: procedure(target: GLenum; index: GLuint;
  3084. x, y, z, w: GLfloat); extdecl;
  3085. glProgramLocalParameter4fvARB: procedure(target: GLenum; index: GLuint;
  3086. const params: PGLfloat); extdecl;
  3087. glGetProgramEnvParameterdvARB: procedure(target: GLenum; index: GLuint;
  3088. params: PGLdouble); extdecl;
  3089. glGetProgramEnvParameterfvARB: procedure(target: GLenum; index: GLuint;
  3090. params: PGLfloat); extdecl;
  3091. glGetProgramLocalParameterdvARB: procedure(target: GLenum; index: GLuint;
  3092. params: PGLdouble); extdecl;
  3093. glGetProgramLocalParameterfvARB: procedure(target: GLenum; index: GLuint;
  3094. params: PGLdouble); extdecl;
  3095. glGetProgramivARB: procedure(target, pname: GLenum; params: PGLint); extdecl;
  3096. glGetProgramStringARB: procedure(target, pname: GLenum; str: Pointer); extdecl;
  3097. glGetVertexAttribdvARB: procedure(index: GLuint; pname: GLenum; params: PGLdouble); extdecl;
  3098. glGetVertexAttribfvARB: procedure(index: GLuint; pname: GLenum; params: PGLfloat); extdecl;
  3099. glGetVertexAttribivARB: procedure(index: GLuint; pname: GLenum; params: PGLint); extdecl;
  3100. glGetVertexAttribPointervARB: procedure(index: GLuint; pname: GLenum; ptr: PPointer); extdecl;
  3101. glIsProgramARB: function(prog: GLuint): GLboolean; extdecl;
  3102. const
  3103. GL_VERTEX_PROGRAM_ARB = $8620;
  3104. GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
  3105. GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
  3106. GL_COLOR_SUM_ARB = $8458;
  3107. GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
  3108. GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
  3109. GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
  3110. GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
  3111. GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
  3112. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
  3113. GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
  3114. GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
  3115. GL_PROGRAM_LENGTH_ARB = $8627;
  3116. GL_PROGRAM_FORMAT_ARB = $8876;
  3117. GL_PROGRAM_BINDING_ARB = $8677;
  3118. GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
  3119. GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
  3120. GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
  3121. GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
  3122. GL_PROGRAM_TEMPORARIES_ARB = $88A4;
  3123. GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
  3124. GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
  3125. GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
  3126. GL_PROGRAM_PARAMETERS_ARB = $88A8;
  3127. GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
  3128. GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
  3129. GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
  3130. GL_PROGRAM_ATTRIBS_ARB = $88AC;
  3131. GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
  3132. GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
  3133. GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
  3134. GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
  3135. GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
  3136. GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
  3137. GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
  3138. GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
  3139. GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
  3140. GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
  3141. GL_PROGRAM_STRING_ARB = $8628;
  3142. GL_PROGRAM_ERROR_POSITION_ARB = $864B;
  3143. GL_CURRENT_MATRIX_ARB = $8641;
  3144. GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
  3145. GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
  3146. GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
  3147. GL_MAX_PROGRAM_MATRICES_ARB = $862F;
  3148. GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
  3149. GL_PROGRAM_ERROR_STRING_ARB = $8874;
  3150. GL_MATRIX0_ARB = $88C0;
  3151. GL_MATRIX1_ARB = $88C1;
  3152. GL_MATRIX2_ARB = $88C2;
  3153. GL_MATRIX3_ARB = $88C3;
  3154. GL_MATRIX4_ARB = $88C4;
  3155. GL_MATRIX5_ARB = $88C5;
  3156. GL_MATRIX6_ARB = $88C6;
  3157. GL_MATRIX7_ARB = $88C7;
  3158. GL_MATRIX8_ARB = $88C8;
  3159. GL_MATRIX9_ARB = $88C9;
  3160. GL_MATRIX10_ARB = $88CA;
  3161. GL_MATRIX11_ARB = $88CB;
  3162. GL_MATRIX12_ARB = $88CC;
  3163. GL_MATRIX13_ARB = $88CD;
  3164. GL_MATRIX14_ARB = $88CE;
  3165. GL_MATRIX15_ARB = $88CF;
  3166. GL_MATRIX16_ARB = $88D0;
  3167. GL_MATRIX17_ARB = $88D1;
  3168. GL_MATRIX18_ARB = $88D2;
  3169. GL_MATRIX19_ARB = $88D3;
  3170. GL_MATRIX20_ARB = $88D4;
  3171. GL_MATRIX21_ARB = $88D5;
  3172. GL_MATRIX22_ARB = $88D6;
  3173. GL_MATRIX23_ARB = $88D7;
  3174. GL_MATRIX24_ARB = $88D8;
  3175. GL_MATRIX25_ARB = $88D9;
  3176. GL_MATRIX26_ARB = $88DA;
  3177. GL_MATRIX27_ARB = $88DB;
  3178. GL_MATRIX28_ARB = $88DC;
  3179. GL_MATRIX29_ARB = $88DD;
  3180. GL_MATRIX30_ARB = $88DE;
  3181. GL_MATRIX31_ARB = $88DF;
  3182. //*** EXT_stencil_two_side
  3183. var
  3184. glActiveStencilFaceEXT: procedure(face: GLenum); extdecl;
  3185. const
  3186. GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
  3187. GL_ACTIVE_STENCIL_FACE_EXT = $8911;
  3188. //*** NV_element_array
  3189. var
  3190. glElementPointerNV: procedure(atype: GLenum; const pointer: Pointer); extdecl;
  3191. glDrawElementArrayNV: procedure(mode: GLenum; first: GLint; count: GLsizei); extdecl;
  3192. glDrawRangeElementArrayNV: procedure(mode: GLenum; start, aend: GLuint;
  3193. first: GLint; count: GLsizei); extdecl;
  3194. glMultiDrawElementArrayNV: procedure(mode: GLenum; const first: PGLint;
  3195. const count: PGLsizei;
  3196. primcount: GLsizei); extdecl;
  3197. glMultiDrawRangeElementArrayNV: procedure(mode: GLenum; start, aend: GLuint;
  3198. const first: PGLint;
  3199. const count: PGLsizei;
  3200. primcount: GLsizei); extdecl;
  3201. const
  3202. GL_ELEMENT_ARRAY_TYPE_NV = $8769;
  3203. GL_ELEMENT_ARRAY_POINTER_NV = $876A;
  3204. //*** NV_float_buffer
  3205. const
  3206. GL_FLOAT_R_NV = $8880;
  3207. GL_FLOAT_RG_NV = $8881;
  3208. GL_FLOAT_RGB_NV = $8882;
  3209. GL_FLOAT_RGBA_NV = $8883;
  3210. GL_FLOAT_R16_NV = $8884;
  3211. GL_FLOAT_R32_NV = $8885;
  3212. GL_FLOAT_RG16_NV = $8886;
  3213. GL_FLOAT_RG32_NV = $8887;
  3214. GL_FLOAT_RGB16_NV = $8888;
  3215. GL_FLOAT_RGB32_NV = $8889;
  3216. GL_FLOAT_RGBA16_NV = $888A;
  3217. GL_FLOAT_RGBA32_NV = $888B;
  3218. GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
  3219. GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
  3220. GL_FLOAT_RGBA_MODE_NV = $888E;
  3221. {$IFDEF Win32}
  3222. WGL_FLOAT_COMPONENTS_NV = $20B0;
  3223. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
  3224. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
  3225. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
  3226. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
  3227. WGL_TEXTURE_FLOAT_R_NV = $20B5;
  3228. WGL_TEXTURE_FLOAT_RG_NV = $20B6;
  3229. WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
  3230. WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
  3231. {$ENDIF}
  3232. //*** NV_fragment_program
  3233. var
  3234. glProgramNamedParameter4fNV: procedure(id: GLuint; len: GLsizei;
  3235. const name: PGLubyte; x, y, z, w: GLfloat); extdecl;
  3236. glProgramNamedParameter4dNV: procedure(id: GLuint; len: GLsizei;
  3237. const name: PGLubyte; x, y, z, w: GLdouble); extdecl;
  3238. glProgramNamedParameter4fvNV: procedure(id: GLuint; len: GLsizei;
  3239. const name: PGLubyte; const v: PGLfloat); extdecl;
  3240. glProgramNamedParameter4dvNV: procedure(id: GLuint; len: GLsizei;
  3241. const name: PGLubyte; const v: PGLdouble); extdecl;
  3242. glGetProgramNamedParameterfvNV: procedure(id: GLuint; len: GLsizei;
  3243. const name: PGLubyte; params: PGLfloat); extdecl;
  3244. glGetProgramNamedParameterdvNV: procedure(id: GLuint; len: GLsizei;
  3245. const name: PGLubyte; params: PGLdouble); extdecl;
  3246. // glProgramLocalParameter4dARB
  3247. // glProgramLocalParameter4dvARB
  3248. // glProgramLocalParameter4fARB
  3249. // glProgramLocalParameter4fvARB
  3250. // glGetProgramLocalParameterdvARB
  3251. // glGetProgramLocalParameterfvARB
  3252. const
  3253. GL_FRAGMENT_PROGRAM_NV = $8870;
  3254. GL_MAX_TEXTURE_COORDS_NV = $8871;
  3255. GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
  3256. GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
  3257. GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
  3258. GL_PROGRAM_ERROR_STRING_NV = $8874;
  3259. //*** NV_primitive_restart
  3260. var
  3261. glPrimitiveRestartNV: procedure; extdecl;
  3262. glPrimitiveRestartIndexNV: procedure(index: GLuint); extdecl;
  3263. const
  3264. GL_PRIMITIVE_RESTART_NV = $8558;
  3265. GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
  3266. {******************************************************************************}
  3267. {$IFDEF Win32}
  3268. //*** WGL_ARB_buffer_region
  3269. const
  3270. WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
  3271. WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
  3272. WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
  3273. WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
  3274. var
  3275. wglCreateBufferRegionARB: function(dc: HDC; iLayerPlane: Integer;
  3276. uType: UINT): THandle; extdecl;
  3277. wglDeleteBufferRegionARB: procedure(hRegion: THandle); extdecl;
  3278. wglSaveBufferRegionARB: function(hRegion: THandle;
  3279. x, y, width, height: Integer): BOOL; extdecl;
  3280. wglRestoreBufferRegionARB: function(hRegion: THandle;
  3281. x, y, width, height, xSrc, ySrc: Integer): BOOL; extdecl;
  3282. //*** WGL_ARB_extensions_string
  3283. var
  3284. wglGetExtensionsStringARB: function(dc: HDC): PChar; extdecl;
  3285. //*** WGL_ARB_pixel_format
  3286. const
  3287. WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
  3288. WGL_DRAW_TO_WINDOW_ARB = $2001;
  3289. WGL_DRAW_TO_BITMAP_ARB = $2002;
  3290. WGL_ACCELERATION_ARB = $2003;
  3291. WGL_NEED_PALETTE_ARB = $2004;
  3292. WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
  3293. WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
  3294. WGL_SWAP_METHOD_ARB = $2007;
  3295. WGL_NUMBER_OVERLAYS_ARB = $2008;
  3296. WGL_NUMBER_UNDERLAYS_ARB = $2009;
  3297. WGL_TRANSPARENT_ARB = $200A;
  3298. WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
  3299. WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
  3300. WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
  3301. WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
  3302. WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
  3303. WGL_SHARE_DEPTH_ARB = $200C;
  3304. WGL_SHARE_STENCIL_ARB = $200D;
  3305. WGL_SHARE_ACCUM_ARB = $200E;
  3306. WGL_SUPPORT_GDI_ARB = $200F;
  3307. WGL_SUPPORT_OPENGL_ARB = $2010;
  3308. WGL_DOUBLE_BUFFER_ARB = $2011;
  3309. WGL_STEREO_ARB = $2012;
  3310. WGL_PIXEL_TYPE_ARB = $2013;
  3311. WGL_COLOR_BITS_ARB = $2014;
  3312. WGL_RED_BITS_ARB = $2015;
  3313. WGL_RED_SHIFT_ARB = $2016;
  3314. WGL_GREEN_BITS_ARB = $2017;
  3315. WGL_GREEN_SHIFT_ARB = $2018;
  3316. WGL_BLUE_BITS_ARB = $2019;
  3317. WGL_BLUE_SHIFT_ARB = $201A;
  3318. WGL_ALPHA_BITS_ARB = $201B;
  3319. WGL_ALPHA_SHIFT_ARB = $201C;
  3320. WGL_ACCUM_BITS_ARB = $201D;
  3321. WGL_ACCUM_RED_BITS_ARB = $201E;
  3322. WGL_ACCUM_GREEN_BITS_ARB = $201F;
  3323. WGL_ACCUM_BLUE_BITS_ARB = $2020;
  3324. WGL_ACCUM_ALPHA_BITS_ARB = $2021;
  3325. WGL_DEPTH_BITS_ARB = $2022;
  3326. WGL_STENCIL_BITS_ARB = $2023;
  3327. WGL_AUX_BUFFERS_ARB = $2024;
  3328. WGL_NO_ACCELERATION_ARB = $2025;
  3329. WGL_GENERIC_ACCELERATION_ARB = $2026;
  3330. WGL_FULL_ACCELERATION_ARB = $2027;
  3331. WGL_SWAP_EXCHANGE_ARB = $2028;
  3332. WGL_SWAP_COPY_ARB = $2029;
  3333. WGL_SWAP_UNDEFINED_ARB = $202A;
  3334. WGL_TYPE_RGBA_ARB = $202B;
  3335. WGL_TYPE_COLORINDEX_ARB = $202C;
  3336. var
  3337. wglGetPixelFormatAttribivARB: function(dc: HDC;
  3338. iPixelFormat, iLayerPlane: Integer; nAttributes: UINT;
  3339. const piAttributes, piValues: PInteger): BOOL; extdecl;
  3340. wglGetPixelFormatAttribfvARB: function(dc: HDC;
  3341. iPixelFormat, iLayerPlane: Integer; nAttributes: UINT;
  3342. const piAttributes, piValues: PInteger; pfValues: PSingle): BOOL; extdecl;
  3343. wglChoosePixelFormatARB: function(dc: HDC; const piAttribIList: PInteger;
  3344. const pfAttribFList: PSingle; nMaxFormats: UINT; piFormats: PInteger;
  3345. nNumFormats: PUINT): BOOL; extdecl;
  3346. //*** WGL_ARB_make_current_read
  3347. const
  3348. GL_ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
  3349. GL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
  3350. var
  3351. wglMakeContextCurrentARB: function(hDrawDC, hReadDC: HDC; glrc: HGLRC): BOOL; extdecl;
  3352. wglGetCurrentReadDCARB: function: HDC; extdecl;
  3353. //*** WGL_ARB_pbuffer
  3354. const
  3355. WGL_DRAW_TO_PBUFFER_ARB = $202D;
  3356. WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
  3357. WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
  3358. WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
  3359. WGL_PBUFFER_LARGEST_ARB = $2033;
  3360. WGL_PBUFFER_WIDTH_ARB = $2034;
  3361. WGL_PBUFFER_HEIGHT_ARB = $2035;
  3362. WGL_PBUFFER_LOST_ARB = $2036;
  3363. type
  3364. HPBUFFERARB = THandle;
  3365. var
  3366. wglCreatePbufferARB: function(DC: HDC;
  3367. iPixelFormat, iWidth, iHeight: Integer;
  3368. const piAttribList: PInteger): HPBUFFERARB; extdecl;
  3369. wglGetPbufferDCARB: function(hPbuffer: HPBUFFERARB): HDC; extdecl;
  3370. wglReleasePbufferDCARB: function(hPbuffer: HPBUFFERARB; DC: HDC): Integer; extdecl;
  3371. wglDestroyPbufferARB: function(hPbuffer: HPBUFFERARB): BOOL; extdecl;
  3372. wglQueryPbufferARB: function(hPbuffer: HPBUFFERARB; iAttribute: Integer;
  3373. piValue: PInteger): BOOL; extdecl;
  3374. //*** WGL_EXT_swap_control
  3375. var
  3376. wglSwapIntervalEXT: function(interval: GLint): Integer; extdecl;
  3377. //*** WGL_ARB_multisample
  3378. const
  3379. WGL_SAMPLE_BUFFERS_ARB = $2041;
  3380. WGL_SAMPLES_ARB = $2042;
  3381. //*** WGL_OML_sync_control
  3382. type
  3383. PINT64 = ^INT64;
  3384. var
  3385. wglGetSyncValuesOML: function(hdc: HDC; ust, msc, sbc: PINT64): BOOL; extdecl;
  3386. wglGetMscRateOML: function(hdc: HDC;
  3387. numerator, denominator: PInteger): BOOL; extdecl;
  3388. wglSwapBuffersMscOML: function(hdc: HDC;
  3389. target_msc, divisor, remainder: INT64): INT64; extdecl;
  3390. wglSwapLayerBuffersMscOML: function(hdc: HDC; fuPlanes: Integer;
  3391. target_msc, divisor, remainder: INT64): INT64; extdecl;
  3392. wglWaitForMscOML: function(hdc: HDC; target_msc, divisor, remainder: INT64;
  3393. ust, msc, sbc: PINT64): BOOL; extdecl;
  3394. wglWaitForSbcOML: function(hdc: HDC; target_sbc: INT64;
  3395. ust, msc, sbc: PINT64): BOOL; extdecl;
  3396. //*** WGL_ARB_render_texture
  3397. const
  3398. WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
  3399. WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
  3400. WGL_TEXTURE_FORMAT_ARB = $2072;
  3401. WGL_TEXTURE_TARGET_ARB = $2073;
  3402. WGL_MIPMAP_TEXTURE_ARB = $2074;
  3403. WGL_TEXTURE_RGB_ARB = $2075;
  3404. WGL_TEXTURE_RGBA_ARB = $2076;
  3405. WGL_NO_TEXTURE_ARB = $2077;
  3406. WGL_TEXTURE_CUBE_MAP_ARB = $2078;
  3407. WGL_TEXTURE_1D_ARB = $2079;
  3408. WGL_TEXTURE_2D_ARB = $207A;
  3409. // WGL_NO_TEXTURE_ARB = $2077;
  3410. WGL_MIPMAP_LEVEL_ARB = $207B;
  3411. WGL_CUBE_MAP_FACE_ARB = $207C;
  3412. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
  3413. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
  3414. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
  3415. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
  3416. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
  3417. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
  3418. WGL_FRONT_LEFT_ARB = $2083;
  3419. WGL_FRONT_RIGHT_ARB = $2084;
  3420. WGL_BACK_LEFT_ARB = $2085;
  3421. WGL_BACK_RIGHT_ARB = $2086;
  3422. WGL_AUX0_ARB = $2087;
  3423. WGL_AUX1_ARB = $2088;
  3424. WGL_AUX2_ARB = $2089;
  3425. WGL_AUX3_ARB = $208A;
  3426. WGL_AUX4_ARB = $208B;
  3427. WGL_AUX5_ARB = $208C;
  3428. WGL_AUX6_ARB = $208D;
  3429. WGL_AUX7_ARB = $208E;
  3430. WGL_AUX8_ARB = $208F;
  3431. WGL_AUX9_ARB = $2090;
  3432. var
  3433. wglBindTexImageARB: function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; extdecl;
  3434. wglReleaseTexImageARB: function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; extdecl;
  3435. wglSetPbufferAttribARB: function(hPbuffer: HPBUFFERARB; const piAttribList: PInteger): BOOL; extdecl;
  3436. //*** WGL_NV_render_depth_texture
  3437. const
  3438. WGL_BIND_TO_TEXTURE_DEPTH_NV = $20A3;
  3439. WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = $20A4;
  3440. WGL_DEPTH_TEXTURE_FORMAT_NV = $20A5;
  3441. WGL_TEXTURE_DEPTH_COMPONENT_NV = $20A6;
  3442. // WGL_NO_TEXTURE_ARB = $2077;
  3443. WGL_DEPTH_COMPONENT_NV = $20A7;
  3444. //*** WGL_NV_render_texture_rectangle
  3445. const
  3446. WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
  3447. WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
  3448. WGL_TEXTURE_RECTANGLE_NV = $20A2;
  3449. {$ENDIF Windows}
  3450. {******************************************************************************}
  3451. implementation
  3452. {******************************************************************************}
  3453. {$IFNDEF Windows}
  3454. function wglGetProcAddress(proc: PChar): Pointer;
  3455. begin
  3456. Result := GetProcAddress(LibGL, proc);
  3457. end;
  3458. {$ENDIF}
  3459. { Check if an OpenGL extension is supported by the ICD. Translated from a C
  3460. routine by Mark Kilgard of NVIDIA. }
  3461. function glext_ExtensionSupported(const extension: String): Boolean;
  3462. begin
  3463. Result := glext_ExtensionSupported(extension, '');
  3464. end;
  3465. function glext_ExtensionSupported(const extension: String; const searchIn: String): Boolean;
  3466. var
  3467. extensions: PChar;
  3468. start: PChar;
  3469. where, terminator: PChar;
  3470. begin
  3471. // Extension names should not have spaces.
  3472. if (Pos(' ', extension) <> 0) or (extension = '') then
  3473. begin
  3474. Result := FALSE;
  3475. Exit;
  3476. end;
  3477. if searchIn = '' then extensions := PChar(glGetString(GL_EXTENSIONS))
  3478. else extensions := PChar(searchIn);
  3479. { It takes a bit of care to be fool-proof about parsing the OpenGL extensions
  3480. string. Don't be fooled by sub-strings, etc. }
  3481. start := extensions;
  3482. while TRUE do
  3483. begin
  3484. where := StrPos(start, PChar(extension));
  3485. if where = nil then Break;
  3486. terminator := Pointer(Integer(where) + Length(extension));
  3487. if (where = start) or (PChar(Integer(where) - 1)^ = ' ') then
  3488. begin
  3489. if (terminator^ = ' ') or (terminator^ = #0) then
  3490. begin
  3491. Result := TRUE;
  3492. Exit;
  3493. end;
  3494. end;
  3495. start := terminator;
  3496. end;
  3497. Result := FALSE;
  3498. end;
  3499. end.
  3500. {
  3501. $Log:
  3502. }