Stage.OpenGLTokens.pas 180 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376
  1. //
  2. // The graphics engine GLScene
  3. //
  4. unit Stage.OpenGLTokens;
  5. (* OpenGL tokens *)
  6. interface
  7. {$IFDEF MSWINDOWS}
  8. {$DEFINE SUPPORT_WGL}
  9. {$ENDIF}
  10. uses
  11. Winapi.Windows,
  12. Winapi.OpenGLext,
  13. System.SysUtils,
  14. Stage.VectorTypes;
  15. // =========== OpenGL types ============
  16. type
  17. TGLboolean = BYTEBOOL;
  18. PGLboolean = ^TGLboolean;
  19. TGLbitfield = LongWord; // UINT
  20. PGLbitfield = ^TGLbitfield;
  21. TGLbyte = ShortInt;
  22. PGLbyte = ^TGLbyte;
  23. TGLshort = SmallInt;
  24. PGLshort = ^TGLshort;
  25. TGLint = Integer;
  26. PGLint = System.PInteger;
  27. TGLsizei = Integer;
  28. PGLsizei = System.PInteger;
  29. TGLint64 = Int64;
  30. PGLint64 = System.PInt64;
  31. TGLint64EXT = Int64;
  32. PGLint64EXT = System.PInt64;
  33. TGLuint64 = UInt64;
  34. PGLuint64 = System.PUInt64;
  35. TGLuint64EXT = UInt64;
  36. PGLuint64EXT = System.PUInt64;
  37. TGLubyte = Byte;
  38. PGLubyte = System.PByte;
  39. TGLushort = Word;
  40. PGLushort = System.PWord;
  41. TGLenum = Cardinal;
  42. PGLenum = ^TGLenum;
  43. TGLuint = Cardinal;
  44. PGLuint = System.PCardinal;
  45. TGLfloat = Single;
  46. PGLfloat = System.PSingle;
  47. TGLdouble = Double;
  48. PGLdouble = System.PDouble;
  49. PGLclampf = System.PSingle;
  50. TGLclampd = Double;
  51. PGLclampd = System.PDouble;
  52. PGLPCharArray = ^PAnsiChar;
  53. PGLvoid = Pointer;
  54. PGLPointer = ^PGLvoid;
  55. TGLhandleARB = Cardinal;
  56. PGLhandleARB = ^TGLhandleARB;
  57. // the size of these depend on platform (32bit or 64bit)
  58. TGLintptr = NativeInt;
  59. PGLintptr = ^TGLintptr;
  60. TGLsizeiptr = NativeInt;
  61. PGLsizeiptr = ^TGLsizeiptr;
  62. TGLsync = NativeInt;
  63. PGLsync = ^TGLsync;
  64. TGLchar = Byte;
  65. PGLchar = MarshaledAString;
  66. TGLhalf = WORD;
  67. PGLhalf = ^TGLhalf;
  68. // ========= Windows types ==============
  69. PWGLswap = ^TWGLswap;
  70. _WGLSWAP = packed record
  71. hdc: HDC;
  72. uiFlags: UINT;
  73. end;
  74. TWGLswap = _WGLSWAP;
  75. WGLSWAP = _WGLSWAP;
  76. HPBUFFERARB = type UINT_PTR;
  77. type
  78. PHGPUNV = ^HGPUNV;
  79. HGPUNV = THandle;
  80. HVIDEOINPUTDEVICENV = THandle;
  81. PHVIDEOINPUTDEVICENV = ^HVIDEOINPUTDEVICENV;
  82. PGPUDEVICE = ^TGPUDEVICE;
  83. TGPUDEVICE = record
  84. cb: Cardinal;
  85. DeviceName: array[0..31] of AnsiChar;
  86. DeviceString: array[0..127] of AnsiChar;
  87. Flags: Cardinal;
  88. rcVirtualScreen: TRect;
  89. end;
  90. TDebugProc = procedure(
  91. source: Cardinal;
  92. type_: Cardinal;
  93. id: Cardinal;
  94. severity: Cardinal;
  95. length: TGLsizei;
  96. const message: PAnsiChar;
  97. userParam: Pointer); {$IFDEF MSWINDOWS}stdcall;{$ELSE}cdecl; {$ENDIF}
  98. TGLDEBUGPROCARB = TDebugProc;
  99. TDebugProcAMD = procedure(
  100. id: Cardinal;
  101. category: Cardinal;
  102. severity: Cardinal;
  103. length: TGLsizei;
  104. message: PAnsiChar;
  105. userParam: Pointer); {$IFDEF MSWINDOWS}stdcall;{$ELSE}cdecl;{$ENDIF}
  106. TGLvdpauSurfaceNV = TGLintptr;
  107. PGLvdpauSurfaceNV = ^TGLvdpauSurfaceNV;
  108. //------------------- OpenGL Utility (GLU) types ----------------
  109. type
  110. // GLU types
  111. TGLUNurbs = record end;
  112. TGLUQuadric = record end;
  113. TGLUTesselator = record end;
  114. PGLUNurbs = ^TGLUNurbs;
  115. PGLUQuadric = ^TGLUQuadric;
  116. PGLUTesselator= ^TGLUTesselator;
  117. // backwards compatibility
  118. TGLUNurbsObj = TGLUNurbs;
  119. TGLUQuadricObj = TGLUQuadric;
  120. TGLUTesselatorObj = TGLUTesselator;
  121. TGLUTriangulatorObj = TGLUTesselator;
  122. PGLUNurbsObj = PGLUNurbs;
  123. PGLUQuadricObj = PGLUQuadric;
  124. PGLUTesselatorObj = PGLUTesselator;
  125. PGLUTriangulatorObj = PGLUTesselator;
  126. // Callback function prototypes
  127. TGLUQuadricErrorProc = procedure(errorCode: Cardinal); stdcall;
  128. TGLUTessBeginProc = procedure(AType: Cardinal); stdcall;
  129. TGLUTessEdgeFlagProc = procedure(Flag: TGLboolean); stdcall;
  130. TGLUTessVertexProc = procedure(VertexData: Pointer); stdcall;
  131. TGLUTessEndProc = procedure; stdcall;
  132. TGLUTessErrorProc = procedure(ErrNo: Cardinal); stdcall;
  133. TGLUTessCombineProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer); stdcall;
  134. TGLUTessBeginDataProc = procedure(AType: Cardinal; UserData: Pointer); stdcall;
  135. TGLUTessEdgeFlagDataProc = procedure(Flag: TGLboolean; UserData: Pointer); stdcall;
  136. TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); stdcall;
  137. TGLUTessEndDataProc = procedure(UserData: Pointer); stdcall;
  138. TGLUTessErrorDataProc = procedure(ErrNo: Cardinal; UserData: Pointer); stdcall;
  139. TGLUTessCombineDataProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer; UserData: Pointer); stdcall;
  140. TGLUNurbsErrorProc = procedure(ErrorCode: Cardinal); stdcall;
  141. const
  142. //------------------ OpenGL v1.1 generic constants --------------------
  143. // ARB Extension #4 - WGL_ARB_buffer_region
  144. WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
  145. WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
  146. WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
  147. WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
  148. WGL_SAMPLE_BUFFERS_ARB = $2041;
  149. WGL_SAMPLES_ARB = $2042;
  150. // ARB Extension #9 - WGL_ARB_pixel_format
  151. // (no new tokens)
  152. WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
  153. WGL_DRAW_TO_WINDOW_ARB = $2001;
  154. WGL_DRAW_TO_BITMAP_ARB = $2002;
  155. WGL_ACCELERATION_ARB = $2003;
  156. WGL_NEED_PALETTE_ARB = $2004;
  157. WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
  158. WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
  159. WGL_SWAP_METHOD_ARB = $2007;
  160. WGL_NUMBER_OVERLAYS_ARB = $2008;
  161. WGL_NUMBER_UNDERLAYS_ARB = $2009;
  162. WGL_TRANSPARENT_ARB = $200A;
  163. WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
  164. WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
  165. WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
  166. WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
  167. WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
  168. WGL_SHARE_DEPTH_ARB = $200C;
  169. WGL_SHARE_STENCIL_ARB = $200D;
  170. WGL_SHARE_ACCUM_ARB = $200E;
  171. WGL_SUPPORT_GDI_ARB = $200F;
  172. WGL_SUPPORT_OPENGL_ARB = $2010;
  173. WGL_DOUBLE_BUFFER_ARB = $2011;
  174. WGL_STEREO_ARB = $2012;
  175. WGL_PIXEL_TYPE_ARB = $2013;
  176. WGL_COLOR_BITS_ARB = $2014;
  177. WGL_RED_BITS_ARB = $2015;
  178. WGL_RED_SHIFT_ARB = $2016;
  179. WGL_GREEN_BITS_ARB = $2017;
  180. WGL_GREEN_SHIFT_ARB = $2018;
  181. WGL_BLUE_BITS_ARB = $2019;
  182. WGL_BLUE_SHIFT_ARB = $201A;
  183. WGL_ALPHA_BITS_ARB = $201B;
  184. WGL_ALPHA_SHIFT_ARB = $201C;
  185. WGL_ACCUM_BITS_ARB = $201D;
  186. WGL_ACCUM_RED_BITS_ARB = $201E;
  187. WGL_ACCUM_GREEN_BITS_ARB = $201F;
  188. WGL_ACCUM_BLUE_BITS_ARB = $2020;
  189. WGL_ACCUM_ALPHA_BITS_ARB = $2021;
  190. WGL_DEPTH_BITS_ARB = $2022;
  191. WGL_STENCIL_BITS_ARB = $2023;
  192. WGL_AUX_BUFFERS_ARB = $2024;
  193. WGL_NO_ACCELERATION_ARB = $2025;
  194. WGL_GENERIC_ACCELERATION_ARB = $2026;
  195. WGL_FULL_ACCELERATION_ARB = $2027;
  196. WGL_SWAP_EXCHANGE_ARB = $2028;
  197. WGL_SWAP_COPY_ARB = $2029;
  198. WGL_SWAP_UNDEFINED_ARB = $202A;
  199. WGL_TYPE_RGBA_ARB = $202B;
  200. WGL_TYPE_COLORINDEX_ARB = $202C;
  201. // ARB Extension #11 - WGL_ARB_pbuffer
  202. WGL_DRAW_TO_PBUFFER_ARB = $202D;
  203. WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
  204. WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
  205. WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
  206. WGL_PBUFFER_LARGEST_ARB = $2033;
  207. WGL_PBUFFER_WIDTH_ARB = $2034;
  208. WGL_PBUFFER_HEIGHT_ARB = $2035;
  209. WGL_PBUFFER_LOST_ARB = $2036;
  210. // ARB Extension #20 - WGL_ARB_render_texture
  211. WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
  212. WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
  213. WGL_TEXTURE_FORMAT_ARB = $2072;
  214. WGL_TEXTURE_TARGET_ARB = $2073;
  215. WGL_MIPMAP_TEXTURE_ARB = $2074;
  216. WGL_TEXTURE_RGB_ARB = $2075;
  217. WGL_TEXTURE_RGBA_ARB = $2076;
  218. WGL_NO_TEXTURE_ARB = $2077;
  219. WGL_TEXTURE_CUBE_MAP_ARB = $2078;
  220. WGL_TEXTURE_1D_ARB = $2079;
  221. WGL_TEXTURE_2D_ARB = $207A;
  222. WGL_MIPMAP_LEVEL_ARB = $207B;
  223. WGL_CUBE_MAP_FACE_ARB = $207C;
  224. WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
  225. WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
  226. WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
  227. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
  228. WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
  229. WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
  230. WGL_FRONT_LEFT_ARB = $2083;
  231. WGL_FRONT_RIGHT_ARB = $2084;
  232. WGL_BACK_LEFT_ARB = $2085;
  233. WGL_BACK_RIGHT_ARB = $2086;
  234. WGL_AUX0_ARB = $2087;
  235. WGL_AUX1_ARB = $2088;
  236. WGL_AUX2_ARB = $2089;
  237. WGL_AUX3_ARB = $208A;
  238. WGL_AUX4_ARB = $208B;
  239. WGL_AUX5_ARB = $208C;
  240. WGL_AUX6_ARB = $208D;
  241. WGL_AUX7_ARB = $208E;
  242. WGL_AUX8_ARB = $208F;
  243. WGL_AUX9_ARB = $2090;
  244. // ARB Extension #46 - GL_ARB_framebuffer_sRGB
  245. WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;
  246. // unknown extension, where does it come from?
  247. WGL_COLOR_SAMPLES_NV = $20B9;
  248. // ARB Extension #55 - WGL_ARB_create_context
  249. // see also WGL_ARB_create_context_profile (ARB #74)
  250. WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;
  251. WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
  252. WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
  253. WGL_CONTEXT_FLAGS_ARB = $2094;
  254. WGL_CONTEXT_DEBUG_BIT_ARB = $0001;
  255. WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $0002;
  256. ERROR_INVALID_VERSION_ARB = $2095;
  257. // EXT #400 WGL_EXT_create_context_es2_profile
  258. WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $0004;
  259. // ARB Extension #74 - WGL_ARB_create_context_profile
  260. // see also WGL_ARB_create_context (ARB #55)
  261. WGL_CONTEXT_PROFILE_MASK_ARB = $9126;
  262. WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
  263. WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
  264. ERROR_INVALID_PROFILE_ARB = $2096;
  265. // WGL_ATI_pixel_format_float (#278)
  266. WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
  267. WGL_FLOAT_COMPONENTS_NV = $20B0;
  268. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
  269. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
  270. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
  271. WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
  272. WGL_TEXTURE_FLOAT_R_NV = $20B5;
  273. WGL_TEXTURE_FLOAT_RG_NV = $20B6;
  274. WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
  275. WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
  276. WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
  277. // Vendor/EXT extensions constants, in extension number order
  278. GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
  279. // GL_ATI_texture_compression_3dc
  280. GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = $8837;
  281. // WGL_NV_DX_interop (EXT #407)
  282. WGL_ACCESS_READ_ONLY_NV = $0000;
  283. WGL_ACCESS_READ_WRITE_NV = $0001;
  284. WGL_ACCESS_WRITE_DISCARD_NV = $0002;
  285. // ********** GLU generic constants **********
  286. // TessCallback
  287. GLU_TESS_BEGIN = 100100; // TGLUTessBeginProc
  288. GLU_TESS_VERTEX = 100101; // TGLUTessVertexProc
  289. GLU_TESS_END = 100102; // TGLUTessEndProc
  290. GLU_TESS_ERROR = 100103; // TGLUTessErrorProc
  291. GLU_TESS_EDGE_FLAG = 100104; // TGLUTessEdgeFlagProc
  292. GLU_TESS_COMBINE = 100105; // TGLUTessCombineProc
  293. GLU_TESS_BEGIN_DATA = 100106; // TGLUTessBeginDataProc
  294. GLU_TESS_VERTEX_DATA = 100107; // TGLUTessVertexDataProc
  295. GLU_TESS_END_DATA = 100108; // TGLUTessEndDataProc
  296. GLU_TESS_ERROR_DATA = 100109; // TGLUTessErrorDataProc
  297. GLU_TESS_EDGE_FLAG_DATA = 100110; // TGLUTessEdgeFlagDataProc
  298. GLU_TESS_COMBINE_DATA = 100111; // TGLUTessCombineDataProc
  299. // TessError
  300. GLU_TESS_ERROR1 = 100151;
  301. GLU_TESS_ERROR2 = 100152;
  302. GLU_TESS_ERROR3 = 100153;
  303. GLU_TESS_ERROR4 = 100154;
  304. GLU_TESS_ERROR5 = 100155;
  305. GLU_TESS_ERROR6 = 100156;
  306. GLU_TESS_ERROR7 = 100157;
  307. GLU_TESS_ERROR8 = 100158;
  308. GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
  309. GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
  310. GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
  311. GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
  312. GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
  313. GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
  314. // NURBS constants
  315. // NurbsProperty
  316. GLU_AUTO_LOAD_MATRIX = 100200;
  317. GLU_CULLING = 100201;
  318. GLU_SAMPLING_TOLERANCE = 100203;
  319. GLU_DISPLAY_MODE = 100204;
  320. GLU_PARAMETRIC_TOLERANCE = 100202;
  321. GLU_SAMPLING_METHOD = 100205;
  322. GLU_U_STEP = 100206;
  323. GLU_V_STEP = 100207;
  324. // NurbsSampling
  325. GLU_PATH_LENGTH = 100215;
  326. GLU_PARAMETRIC_ERROR = 100216;
  327. GLU_DOMAIN_DISTANCE = 100217;
  328. // NurbsTrim
  329. GLU_MAP1_TRIM_2 = 100210;
  330. GLU_MAP1_TRIM_3 = 100211;
  331. // NurbsDisplay
  332. GLU_OUTLINE_POLYGON = 100240;
  333. GLU_OUTLINE_PATCH = 100241;
  334. // NurbsErrors
  335. GLU_NURBS_ERROR1 = 100251;
  336. GLU_NURBS_ERROR2 = 100252;
  337. GLU_NURBS_ERROR3 = 100253;
  338. GLU_NURBS_ERROR4 = 100254;
  339. GLU_NURBS_ERROR5 = 100255;
  340. GLU_NURBS_ERROR6 = 100256;
  341. GLU_NURBS_ERROR7 = 100257;
  342. GLU_NURBS_ERROR8 = 100258;
  343. GLU_NURBS_ERROR9 = 100259;
  344. GLU_NURBS_ERROR10 = 100260;
  345. GLU_NURBS_ERROR11 = 100261;
  346. GLU_NURBS_ERROR12 = 100262;
  347. GLU_NURBS_ERROR13 = 100263;
  348. GLU_NURBS_ERROR14 = 100264;
  349. GLU_NURBS_ERROR15 = 100265;
  350. GLU_NURBS_ERROR16 = 100266;
  351. GLU_NURBS_ERROR17 = 100267;
  352. GLU_NURBS_ERROR18 = 100268;
  353. GLU_NURBS_ERROR19 = 100269;
  354. GLU_NURBS_ERROR20 = 100270;
  355. GLU_NURBS_ERROR21 = 100271;
  356. GLU_NURBS_ERROR22 = 100272;
  357. GLU_NURBS_ERROR23 = 100273;
  358. GLU_NURBS_ERROR24 = 100274;
  359. GLU_NURBS_ERROR25 = 100275;
  360. GLU_NURBS_ERROR26 = 100276;
  361. GLU_NURBS_ERROR27 = 100277;
  362. GLU_NURBS_ERROR28 = 100278;
  363. GLU_NURBS_ERROR29 = 100279;
  364. GLU_NURBS_ERROR30 = 100280;
  365. GLU_NURBS_ERROR31 = 100281;
  366. GLU_NURBS_ERROR32 = 100282;
  367. GLU_NURBS_ERROR33 = 100283;
  368. GLU_NURBS_ERROR34 = 100284;
  369. GLU_NURBS_ERROR35 = 100285;
  370. GLU_NURBS_ERROR36 = 100286;
  371. GLU_NURBS_ERROR37 = 100287;
  372. // Contours types -- obsolete!
  373. GLU_CW = 100120;
  374. GLU_CCW = 100121;
  375. GLU_INTERIOR = 100122;
  376. GLU_EXTERIOR = 100123;
  377. GLU_UNKNOWN = 100124;
  378. // Names without "TESS_" prefix
  379. GLU_BEGIN = GLU_TESS_BEGIN;
  380. GLU_VERTEX = GLU_TESS_VERTEX;
  381. GLU_END = GLU_TESS_END;
  382. GLU_ERROR = GLU_TESS_ERROR;
  383. GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
  384. //======================================================================
  385. type
  386. // core 1.2
  387. // promoted to core v1.2 from GL_EXT_blend_color (#2)
  388. PFNGLBLENDCOLORPROC = procedure(red, green, blue, alpha: Single); stdcall;
  389. // promoted to core v1.2 from GL_EXT_blend_minmax (#37)
  390. PFNGLBLENDEQUATIONPROC = procedure(mode: Cardinal); stdcall;
  391. // promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
  392. PFNGLDRAWRANGEELEMENTSPROC = procedure(mode: Cardinal; Astart, Aend: Cardinal; count: TGLsizei; Atype: Cardinal;
  393. indices: Pointer); stdcall;
  394. // promoted to core v1.2 from GL_EXT_texture3D (#6)
  395. PFNGLTEXIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei;
  396. border: TGLint; format: Cardinal; Atype: Cardinal; pixels: Pointer); stdcall;
  397. PFNGLTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei;
  398. format: Cardinal; Atype: Cardinal; pixels: Pointer);stdcall;
  399. // promoted to core v1.2 from GL_EXT_copy_texture
  400. PFNGLCOPYTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
  401. // core 1.2 deprecated
  402. // promoted to core v1.2 from GL_SGI_color_table (#14)
  403. PFNGLCOLORTABLEPROC = procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal;
  404. table: Pointer); stdcall; //deprecated;
  405. PFNGLCOLORTABLEPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall; //deprecated;
  406. PFNGLCOLORTABLEPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall; //deprecated;
  407. PFNGLCOPYCOLORTABLEPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); stdcall; //deprecated;
  408. PFNGLGETCOLORTABLEPROC = procedure(target, format, Atype: Cardinal; table: Pointer); stdcall; //deprecated;
  409. PFNGLGETCOLORTABLEPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall; //deprecated;
  410. PFNGLGETCOLORTABLEPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall; //deprecated;
  411. // promoted to core v1.2 from GL_EXT_color_subtable (#74)
  412. PFNGLCOLORSUBTABLEPROC = procedure(target: Cardinal; start, count: TGLsizei; format, Atype: Cardinal; data: Pointer); stdcall; //deprecated;
  413. PFNGLCOPYCOLORSUBTABLEPROC = procedure(target: Cardinal; start: TGLsizei; x, y: TGLint; width: TGLsizei); stdcall; //deprecated;
  414. // promoted to core v1.2 from GL_EXT_convolution (#12)
  415. PFNGLCONVOLUTIONFILTER1DPROC = procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal;
  416. image: Pointer); stdcall; //deprecated;
  417. PFNGLCONVOLUTIONFILTER2DPROC = procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal;
  418. image: Pointer); stdcall; //deprecated;
  419. PFNGLCONVOLUTIONPARAMETERFPROC = procedure(target, pname: Cardinal; param: TGLfloat); stdcall; //deprecated;
  420. PFNGLCONVOLUTIONPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall; //deprecated;
  421. PFNGLCONVOLUTIONPARAMETERIPROC = procedure(target, pname: Cardinal; param: TGLint); stdcall; //deprecated;
  422. PFNGLCONVOLUTIONPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall; //deprecated;
  423. PFNGLCOPYCONVOLUTIONFILTER1DPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); stdcall; //deprecated;
  424. PFNGLCOPYCONVOLUTIONFILTER2DPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width, height: TGLsizei); stdcall; //deprecated;
  425. PFNGLGETCONVOLUTIONFILTERPROC = procedure(target, internalformat, Atype: Cardinal; image: Pointer); stdcall; //deprecated;
  426. PFNGLGETCONVOLUTIONPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall; //deprecated;
  427. PFNGLGETCONVOLUTIONPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall; //deprecated;
  428. PFNGLGETSEPARABLEFILTERPROC = procedure(target, format, Atype: Cardinal; row, column, span: Pointer); stdcall; //deprecated;
  429. PFNGLSEPARABLEFILTER2DPROC = procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; row,
  430. column: Pointer); stdcall; //deprecated;
  431. // promoted to core v1.2 from GL_EXT_histogram (#11)
  432. PFNGLGETHISTOGRAMPROC = procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); stdcall; //deprecated;
  433. PFNGLGETHISTOGRAMPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall; //deprecated;
  434. PFNGLGETHISTOGRAMPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall; //deprecated;
  435. PFNGLGETMINMAXPROC = procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); stdcall; //deprecated;
  436. PFNGLGETMINMAXPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall; //deprecated;
  437. PFNGLGETMINMAXPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall; //deprecated;
  438. PFNGLHISTOGRAMPROC = procedure(target: Cardinal; width: TGLsizei; internalformat: Cardinal; sink: TGLboolean); stdcall; //deprecated;
  439. PFNGLMINMAXPROC = procedure(target, internalformat: Cardinal; sink: TGLboolean); stdcall; //deprecated;
  440. PFNGLRESETHISTOGRAMPROC = procedure(target: Cardinal); stdcall; //deprecated;
  441. PFNGLRESETMINMAXPROC = procedure(target: Cardinal); stdcall; //deprecated;
  442. // core 1.3
  443. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  444. PFNGLACTIVETEXTUREPROC = procedure(texture: Cardinal); stdcall;
  445. // promoted to core v1.3 from GL_ARB_multisample (#5)
  446. PFNGLSAMPLECOVERAGEPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
  447. // promoted to core v1.3 from GL_ARB_texture_compression (#12)
  448. PFNGLCOMPRESSEDTEXIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
  449. PFNGLCOMPRESSEDTEXIMAGE2DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
  450. PFNGLCOMPRESSEDTEXIMAGE1DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
  451. PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
  452. PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
  453. PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
  454. PFNGLGETCOMPRESSEDTEXIMAGEPROC = procedure(target: Cardinal; level: TGLint; img: pointer); stdcall;
  455. // core 1.3 deprecated
  456. // promoted to core v1.3 from GL_ARB_multitexture (#1)
  457. PFNGLCLIENTACTIVETEXTUREPROC = procedure(texture: Cardinal); stdcall; //deprecated;
  458. PFNGLMULTITEXCOORD1DPROC = procedure(target: Cardinal; s: TGLdouble); stdcall; //deprecated;
  459. PFNGLMULTITEXCOORD1DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall; //deprecated;
  460. PFNGLMULTITEXCOORD1FPROC = procedure(target: Cardinal; s: TGLfloat); stdcall; //deprecated;
  461. PFNGLMULTITEXCOORD1FVPROC = procedure(target: Cardinal; v: TGLfloat); stdcall; //deprecated;
  462. PFNGLMULTITEXCOORD1IPROC = procedure(target: Cardinal; s: TGLint); stdcall; //deprecated;
  463. PFNGLMULTITEXCOORD1IVPROC = procedure(target: Cardinal; v: PGLInt); stdcall; //deprecated;
  464. PFNGLMULTITEXCOORD1SPROC = procedure(target: Cardinal; s: TGLshort); stdcall; //deprecated;
  465. PFNGLMULTITEXCOORD1SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall; //deprecated;
  466. PFNGLMULTITEXCOORD2DPROC = procedure(target: Cardinal; s, t: TGLdouble); stdcall; //deprecated;
  467. PFNGLMULTITEXCOORD2DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall; //deprecated;
  468. PFNGLMULTITEXCOORD2FPROC = procedure(target: Cardinal; s, t: TGLfloat); stdcall; //deprecated;
  469. PFNGLMULTITEXCOORD2FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall; //deprecated;
  470. PFNGLMULTITEXCOORD2IPROC = procedure(target: Cardinal; s, t: TGLint); stdcall; //deprecated;
  471. PFNGLMULTITEXCOORD2IVPROC = procedure(target: Cardinal; v: PGLint); stdcall; //deprecated;
  472. PFNGLMULTITEXCOORD2SPROC = procedure(target: Cardinal; s, t: TGLshort); stdcall; //deprecated;
  473. PFNGLMULTITEXCOORD2SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall; //deprecated;
  474. PFNGLMULTITEXCOORD3DPROC = procedure(target: Cardinal; s, t, r: TGLdouble); stdcall; //deprecated;
  475. PFNGLMULTITEXCOORD3DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall; //deprecated;
  476. PFNGLMULTITEXCOORD3FPROC = procedure(target: Cardinal; s, t, r: TGLfloat); stdcall; //deprecated;
  477. PFNGLMULTITEXCOORD3FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall; //deprecated;
  478. PFNGLMULTITEXCOORD3IPROC = procedure(target: Cardinal; s, t, r: TGLint); stdcall; //deprecated;
  479. PFNGLMULTITEXCOORD3IVPROC = procedure(target: Cardinal; v: PGLint); stdcall; //deprecated;
  480. PFNGLMULTITEXCOORD3SPROC = procedure(target: Cardinal; s, t, r: TGLshort); stdcall; //deprecated;
  481. PFNGLMULTITEXCOORD3SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall; //deprecated;
  482. PFNGLMULTITEXCOORD4DPROC = procedure(target: Cardinal; s, t, r, q: TGLdouble); stdcall; //deprecated;
  483. PFNGLMULTITEXCOORD4DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall; //deprecated;
  484. PFNGLMULTITEXCOORD4FPROC = procedure(target: Cardinal; s, t, r, q: TGLfloat); stdcall; //deprecated;
  485. PFNGLMULTITEXCOORD4FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall; //deprecated;
  486. PFNGLMULTITEXCOORD4IPROC = procedure(target: Cardinal; s, t, r, q: TGLint); stdcall; //deprecated;
  487. PFNGLMULTITEXCOORD4IVPROC = procedure(target: Cardinal; v: PGLint); stdcall; //deprecated;
  488. PFNGLMULTITEXCOORD4SPROC = procedure(target: Cardinal; s, t, r, q: TGLshort); stdcall; //deprecated;
  489. PFNGLMULTITEXCOORD4SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall; //deprecated;
  490. // promoted to core v1.3 from GL_ARB_transpose_matrix
  491. PFNGLLOADTRANSPOSEMATRIXFPROC = procedure(m: PGLfloat); stdcall; //deprecated;
  492. PFNGLLOADTRANSPOSEMATRIXDPROC = procedure(m: PGLdouble); stdcall; //deprecated;
  493. PFNGLMULTTRANSPOSEMATRIXFPROC = procedure(m: PGLfloat); stdcall; //deprecated;
  494. PFNGLMULTTRANSPOSEMATRIXDPROC = procedure(m: PGLdouble); stdcall; //deprecated;
  495. // core 1.4
  496. // promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
  497. PFNGLBLENDFUNCSEPARATEPROC = procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); stdcall;
  498. // promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
  499. PFNGLMULTIDRAWARRAYSPROC = procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); stdcall;
  500. PFNGLMULTIDRAWELEMENTSPROC = procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); stdcall;
  501. // promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
  502. PFNGLPOINTPARAMETERFPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
  503. PFNGLPOINTPARAMETERFVPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
  504. PFNGLPOINTPARAMETERIPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
  505. PFNGLPOINTPARAMETERIVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
  506. // core 1.4 deprecated
  507. // promoted to core v1.4 from GL_EXT_fog_coord (#149)
  508. PFNGLFOGCOORDFPROC = procedure(coord: TGLfloat); stdcall; //deprecated;
  509. PFNGLFOGCOORDFVPROC = procedure(coord: PGLfloat); stdcall; //deprecated;
  510. PFNGLFOGCOORDDPROC = procedure(coord: TGLdouble); stdcall; //deprecated;
  511. PFNGLFOGCOORDDVPROC = procedure(coord: PGLdouble); stdcall; //deprecated;
  512. PFNGLFOGCOORDPOINTERPROC = procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); stdcall; //deprecated;
  513. // promoted to core v1.4 from GL_EXT_secondary_color (#145)
  514. PFNGLSECONDARYCOLOR3BPROC = procedure(red, green, blue: TGLbyte); stdcall; //deprecated;
  515. PFNGLSECONDARYCOLOR3BVPROC = procedure(v: PGLbyte); stdcall; //deprecated;
  516. PFNGLSECONDARYCOLOR3DPROC = procedure(red, green, blue: TGLdouble); stdcall; //deprecated;
  517. PFNGLSECONDARYCOLOR3DVPROC = procedure(v: PGLdouble); stdcall; //deprecated;
  518. PFNGLSECONDARYCOLOR3FPROC = procedure(red, green, blue: TGLfloat); stdcall; //deprecated;
  519. PFNGLSECONDARYCOLOR3FVPROC = procedure(v: PGLfloat); stdcall; //deprecated;
  520. PFNGLSECONDARYCOLOR3IPROC = procedure(red, green, blue: TGLint); stdcall; //deprecated;
  521. PFNGLSECONDARYCOLOR3IVPROC = procedure(v: PGLint); stdcall; //deprecated;
  522. PFNGLSECONDARYCOLOR3SPROC = procedure(red, green, blue: TGLshort); stdcall; //deprecated;
  523. PFNGLSECONDARYCOLOR3SVPROC = procedure(v: PGLshort); stdcall; //deprecated;
  524. PFNGLSECONDARYCOLOR3UBPROC = procedure(red, green, blue: TGLubyte); stdcall; //deprecated;
  525. PFNGLSECONDARYCOLOR3UBVPROC = procedure(v: PGLubyte); stdcall; //deprecated;
  526. PFNGLSECONDARYCOLOR3UIPROC = procedure(red, green, blue: Cardinal); stdcall; //deprecated;
  527. PFNGLSECONDARYCOLOR3UIVPROC = procedure(v: PGLuint); stdcall; //deprecated;
  528. PFNGLSECONDARYCOLOR3USPROC = procedure(red, green, blue: TGLushort); stdcall; //deprecated;
  529. PFNGLSECONDARYCOLOR3USVPROC = procedure(v: PGLushort); stdcall; //deprecated;
  530. PFNGLSECONDARYCOLORPOINTERPROC = procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); stdcall; //deprecated;
  531. // promoted to core v1.4 from GL_ARB_window_pos (#25)
  532. PFNGLWINDOWPOS2DPROC = procedure(x,y : TGLdouble);stdcall; //deprecated;
  533. PFNGLWINDOWPOS2DVPROC = procedure(v : PGLdouble);stdcall; //deprecated;
  534. PFNGLWINDOWPOS2FPROC = procedure(x,y : TGLfloat);stdcall; //deprecated;
  535. PFNGLWINDOWPOS2FVPROC = procedure(v : PGLfloat);stdcall; //deprecated;
  536. PFNGLWINDOWPOS2IPROC = procedure(x,y : TGLint);stdcall; //deprecated;
  537. PFNGLWINDOWPOS2IVPROC = procedure(v : PGLint);stdcall; //deprecated;
  538. PFNGLWINDOWPOS2SPROC = procedure(x,y : TGLshort);stdcall; //deprecated;
  539. PFNGLWINDOWPOS2SVPROC = procedure(v : PGLshort);stdcall; //deprecated;
  540. PFNGLWINDOWPOS3DPROC = procedure(x,y,z : TGLdouble);stdcall; //deprecated;
  541. PFNGLWINDOWPOS3DVPROC = procedure(v : PGLdouble);stdcall; //deprecated;
  542. PFNGLWINDOWPOS3FPROC = procedure(x,y,z : TGLfloat);stdcall; //deprecated;
  543. PFNGLWINDOWPOS3FVPROC = procedure(v : PGLfloat);stdcall; //deprecated;
  544. PFNGLWINDOWPOS3IPROC = procedure(x,y,z : TGLint);stdcall; //deprecated;
  545. PFNGLWINDOWPOS3IVPROC = procedure(v : PGLint);stdcall; //deprecated;
  546. PFNGLWINDOWPOS3SPROC = procedure(x,y,z : TGLshort);stdcall; //deprecated;
  547. PFNGLWINDOWPOS3SVPROC = procedure(v : PGLshort);stdcall; //deprecated;
  548. // core 1.5
  549. // promoted to core v1.5 from GL_ARB_occlusion_query (#29)
  550. PFNGLGENQUERIESPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
  551. PFNGLDELETEQUERIESPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
  552. PFNGLISQUERYPROC = function(id: Cardinal): TGLboolean; stdcall;
  553. PFNGLBEGINQUERYPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
  554. PFNGLENDQUERYPROC = procedure(target: Cardinal); stdcall;
  555. PFNGLGETQUERYIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  556. PFNGLGETQUERYOBJECTIVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  557. PFNGLGETQUERYOBJECTUIVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
  558. // promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
  559. PFNGLBINDBUFFERPROC = procedure(target: Cardinal; buffer: Cardinal); stdcall;
  560. PFNGLDELETEBUFFERSPROC = procedure(n: TGLsizei; const buffers: PGLuint); stdcall;
  561. PFNGLGENBUFFERSPROC = procedure(n: TGLsizei; buffers: PGLuint); stdcall;
  562. PFNGLISBUFFERPROC = function(buffer: Cardinal): TGLboolean; stdcall;
  563. PFNGLBUFFERDATAPROC = procedure(target: Cardinal; size: TGLsizei; const data: Pointer; usage: Cardinal); stdcall;
  564. PFNGLBUFFERSUBDATAPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; const data: Pointer); stdcall;
  565. PFNGLGETBUFFERSUBDATAPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; data: Pointer); stdcall;
  566. PFNGLMAPBUFFERPROC = function(target: Cardinal; access: Cardinal): Pointer; stdcall;
  567. PFNGLUNMAPBUFFERPROC = function(target: Cardinal): TGLboolean; stdcall;
  568. PFNGLGETBUFFERPARAMETERIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  569. PFNGLGETBUFFERPOINTERVPROC = procedure(target: Cardinal; pname: Cardinal; params: Pointer); stdcall;
  570. // core 2.0
  571. // promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
  572. PFNGLBLENDEQUATIONSEPARATEPROC = procedure(modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
  573. // promoted to core v2.0 from GL_ARB_draw_buffers (#37)
  574. PFNGLDRAWBUFFERSPROC = procedure(n: TGLsizei; const bufs: PCardinal); stdcall;
  575. // promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
  576. PFNGLSTENCILOPSEPARATEPROC = procedure(face, sfail, dpfail, dppass: Cardinal); stdcall;
  577. PFNGLSTENCILFUNCSEPARATEPROC = procedure(face, func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
  578. PFNGLSTENCILMASKSEPARATEPROC = procedure(face: Cardinal; mask: Cardinal); stdcall;
  579. // promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
  580. PFNGLATTACHSHADERPROC = procedure(_program: Cardinal; shader: Cardinal); stdcall;
  581. PFNGLBINDATTRIBLOCATIONPROC = procedure(_program: Cardinal; index: Cardinal; const name: PAnsiChar); stdcall;
  582. PFNGLCOMPILESHADERPROC = procedure(shader: Cardinal); stdcall;
  583. PFNGLCREATEPROGRAMPROC = function(): Cardinal; stdcall;
  584. PFNGLCREATESHADERPROC = function(_type: Cardinal): Cardinal; stdcall;
  585. PFNGLDELETEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
  586. PFNGLDELETESHADERPROC = procedure(shader: Cardinal); stdcall;
  587. PFNGLDETACHSHADERPROC = procedure(_program: Cardinal; shader: Cardinal); stdcall;
  588. PFNGLDISABLEVERTEXATTRIBARRAYPROC = procedure(index: Cardinal); stdcall;
  589. PFNGLENABLEVERTEXATTRIBARRAYPROC = procedure(index: Cardinal); stdcall;
  590. PFNGLGETACTIVEATTRIBPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
  591. PFNGLGETACTIVEUNIFORMPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
  592. PFNGLGETATTACHEDSHADERSPROC = procedure(_program: Cardinal; maxCount: TGLsizei; count: PGLSizei; obj: PGLuint); stdcall;
  593. PFNGLGETATTRIBLOCATIONPROC = function(_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
  594. PFNGLGETPROGRAMIVPROC = procedure(_program: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  595. PFNGLGETPROGRAMINFOLOGPROC = procedure(_program: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
  596. PFNGLGETSHADERIVPROC = procedure(shader: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  597. PFNGLGETSHADERINFOLOGPROC = procedure(shader: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
  598. PFNGLGETSHADERSOURCEPROC = procedure(shader:Cardinal; bufSize: TGLsizei; length: PGLsizei; source: PAnsiChar); stdcall;
  599. PFNGLGETUNIFORMLOCATIONPROC = function(_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
  600. PFNGLGETUNIFORMFVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLfloat); stdcall;
  601. PFNGLGETUNIFORMIVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLint); stdcall;
  602. PFNGLGETVERTEXATTRIBDVPROC = procedure(index:Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
  603. PFNGLGETVERTEXATTRIBFVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  604. PFNGLGETVERTEXATTRIBIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  605. PFNGLGETVERTEXATTRIBPOINTERVPROC = procedure(index: Cardinal; pname: Cardinal; _pointer:pointer); stdcall;
  606. PFNGLISPROGRAMPROC = function(_program: Cardinal):TGLboolean; stdcall;
  607. PFNGLISSHADERPROC = function(shader: Cardinal): TGLboolean; stdcall;
  608. PFNGLLINKPROGRAMPROC = procedure(_program: Cardinal); stdcall;
  609. PFNGLSHADERSOURCEPROC = procedure(shader: Cardinal; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); stdcall;
  610. PFNGLUSEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
  611. PFNGLUNIFORM1FPROC = procedure(location: TGLint; v0: TGLfloat); stdcall;
  612. PFNGLUNIFORM2FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
  613. PFNGLUNIFORM3FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
  614. PFNGLUNIFORM4FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
  615. PFNGLUNIFORM1IPROC = procedure(location: TGLint; v0: TGLint); stdcall;
  616. PFNGLUNIFORM2IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint); stdcall;
  617. PFNGLUNIFORM3IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
  618. PFNGLUNIFORM4IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
  619. PFNGLUNIFORM1FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  620. PFNGLUNIFORM2FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  621. PFNGLUNIFORM3FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  622. PFNGLUNIFORM4FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  623. PFNGLUNIFORM1IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  624. PFNGLUNIFORM2IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  625. PFNGLUNIFORM3IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  626. PFNGLUNIFORM4IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  627. PFNGLUNIFORMMATRIX2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
  628. PFNGLUNIFORMMATRIX3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
  629. PFNGLUNIFORMMATRIX4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
  630. PFNGLVALIDATEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
  631. PFNGLVERTEXATTRIB1DPROC = procedure(index:Cardinal; x: TGLdouble); stdcall;
  632. PFNGLVERTEXATTRIB1DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
  633. PFNGLVERTEXATTRIB1FPROC = procedure(index:Cardinal; x: TGLfloat); stdcall;
  634. PFNGLVERTEXATTRIB1FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
  635. PFNGLVERTEXATTRIB1SPROC = procedure(index:Cardinal; x: TGLshort); stdcall;
  636. PFNGLVERTEXATTRIB1SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
  637. PFNGLVERTEXATTRIB2DPROC = procedure(index:Cardinal; x,y: TGLdouble); stdcall;
  638. PFNGLVERTEXATTRIB2DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
  639. PFNGLVERTEXATTRIB2FPROC = procedure(index:Cardinal; x,y: TGLfloat); stdcall;
  640. PFNGLVERTEXATTRIB2FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
  641. PFNGLVERTEXATTRIB2SPROC = procedure(index:Cardinal; x,y: TGLshort); stdcall;
  642. PFNGLVERTEXATTRIB2SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
  643. PFNGLVERTEXATTRIB3DPROC = procedure(index:Cardinal; x,y,z: TGLdouble); stdcall;
  644. PFNGLVERTEXATTRIB3DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
  645. PFNGLVERTEXATTRIB3FPROC = procedure(index:Cardinal; x,y,z: TGLfloat); stdcall;
  646. PFNGLVERTEXATTRIB3FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
  647. PFNGLVERTEXATTRIB3SPROC = procedure(index:Cardinal; x,y,z: TGLshort); stdcall;
  648. PFNGLVERTEXATTRIB3SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
  649. PFNGLVERTEXATTRIB4NBVPROC = procedure(index:Cardinal; v: PGLbyte); stdcall;
  650. PFNGLVERTEXATTRIB4NIVPROC = procedure(index:Cardinal; v: PGLint); stdcall;
  651. PFNGLVERTEXATTRIB4NSVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
  652. PFNGLVERTEXATTRIB4NUBPROC = procedure(index:Cardinal; x,y,z,w: TGLubyte); stdcall;
  653. PFNGLVERTEXATTRIB4NUBVPROC = procedure(index:Cardinal; v: PGLubyte); stdcall;
  654. PFNGLVERTEXATTRIB4NUIVPROC = procedure(index:Cardinal; v: PGLuint); stdcall;
  655. PFNGLVERTEXATTRIB4NUSVPROC = procedure(index:Cardinal; v: PGLushort); stdcall;
  656. PFNGLVERTEXATTRIB4BVPROC = procedure(index:Cardinal; v: PGLbyte); stdcall;
  657. PFNGLVERTEXATTRIB4DPROC = procedure(index:Cardinal; x,y,z,w: TGLdouble); stdcall;
  658. PFNGLVERTEXATTRIB4DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
  659. PFNGLVERTEXATTRIB4FPROC = procedure(index:Cardinal; x,y,z,w: TGLfloat); stdcall;
  660. PFNGLVERTEXATTRIB4FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
  661. PFNGLVERTEXATTRIB4IVPROC = procedure(index:Cardinal; v: PGLint); stdcall;
  662. PFNGLVERTEXATTRIB4SPROC = procedure(index:Cardinal; x,y,z,w: TGLshort); stdcall;
  663. PFNGLVERTEXATTRIB4SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
  664. PFNGLVERTEXATTRIB4UBVPROC = procedure(index:Cardinal; v: PGLubyte); stdcall;
  665. PFNGLVERTEXATTRIB4UIVPROC = procedure(index:Cardinal; v: PGLuint); stdcall;
  666. PFNGLVERTEXATTRIB4USVPROC = procedure(index:Cardinal; v: PGLushort); stdcall;
  667. PFNGLVERTEXATTRIBPOINTERPROC = procedure(index:Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride:TGLsizei; _pointer:pointer); stdcall;
  668. // core 2.1
  669. // new commands in OpenGL 2.1
  670. PFNGLUNIFORMMATRIX2X3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
  671. PFNGLUNIFORMMATRIX3X2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
  672. PFNGLUNIFORMMATRIX2X4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
  673. PFNGLUNIFORMMATRIX4X2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
  674. PFNGLUNIFORMMATRIX3X4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
  675. PFNGLUNIFORMMATRIX4X3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
  676. // Core 3.0
  677. // promoted to core v3.0 from GL_EXT_gpu_shader4
  678. PFNGLVERTEXATTRIBI1IPROC = procedure(index: Cardinal; x: TGLint);stdcall;
  679. PFNGLVERTEXATTRIBI2IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint);stdcall;
  680. PFNGLVERTEXATTRIBI3IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint);stdcall;
  681. PFNGLVERTEXATTRIBI4IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint);stdcall;
  682. PFNGLVERTEXATTRIBI1UIPROC = procedure(index: Cardinal; x: Cardinal);stdcall;
  683. PFNGLVERTEXATTRIBI2UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal);stdcall;
  684. PFNGLVERTEXATTRIBI3UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal);stdcall;
  685. PFNGLVERTEXATTRIBI4UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal);stdcall;
  686. PFNGLVERTEXATTRIBI1IVPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  687. PFNGLVERTEXATTRIBI2IVPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  688. PFNGLVERTEXATTRIBI3IVPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  689. PFNGLVERTEXATTRIBI4IVPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  690. PFNGLVERTEXATTRIBI1UIVPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  691. PFNGLVERTEXATTRIBI2UIVPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  692. PFNGLVERTEXATTRIBI3UIVPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  693. PFNGLVERTEXATTRIBI4UIVPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  694. PFNGLVERTEXATTRIBI4BVPROC = procedure(index: Cardinal; v:PGLbyte);stdcall;
  695. PFNGLVERTEXATTRIBI4SVPROC = procedure(index: Cardinal; v:PGLshort);stdcall;
  696. PFNGLVERTEXATTRIBI4UBVPROC = procedure(index: Cardinal; v: PGLUbyte);stdcall;
  697. PFNGLVERTEXATTRIBI4USVPROC = procedure(index: Cardinal; v: PGLushort);stdcall;
  698. PFNGLVERTEXATTRIBIPOINTERPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal;
  699. stride: TGLsizei; _pointer: pointer);stdcall;
  700. PFNGLGETVERTEXATTRIBIIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  701. PFNGLGETVERTEXATTRIBIUIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLuint);stdcall;
  702. PFNGLUNIFORM1UIPROC = procedure(location: TGLInt; v0: Cardinal);stdcall;
  703. PFNGLUNIFORM2UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal);stdcall;
  704. PFNGLUNIFORM3UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal);stdcall;
  705. PFNGLUNIFORM4UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal);stdcall;
  706. PFNGLUNIFORM1UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  707. PFNGLUNIFORM2UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  708. PFNGLUNIFORM3UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  709. PFNGLUNIFORM4UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  710. PFNGLGETUNIFORMUIVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint);stdcall;
  711. PFNGLBINDFRAGDATALOCATIONPROC = procedure(_program: Cardinal; colorNumber: Cardinal; name: PAnsiChar);stdcall;
  712. PFNGLGETFRAGDATALOCATIONPROC = function(_program: Cardinal; name: PAnsiChar): TGLint;stdcall;
  713. // promoted to core v3.0 from GL_NV_conditional_render
  714. PFNGLBEGINCONDITIONALRENDERPROC = procedure(id: Cardinal; mode: Cardinal);stdcall;
  715. PFNGLENDCONDITIONALRENDERPROC = procedure();stdcall;
  716. // promoted to core v3.0 from GL_ARB_color_buffer_float
  717. PFNGLCLAMPCOLORPROC = procedure (target: Cardinal; clamp: Cardinal); stdcall;
  718. // promoted to core v3.0 from GL_EXT_texture_integer
  719. PFNGLTEXPARAMETERIIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  720. PFNGLTEXPARAMETERIUIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint);stdcall;
  721. PFNGLGETTEXPARAMETERIIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  722. PFNGLGETTEXPARAMETERIUIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint);stdcall;
  723. // promoted to core v3.0 from GL_EXT_draw_buffers2
  724. PFNGLCOLORMASKIPROC = procedure(index: Cardinal; r: TGLboolean; g: TGLboolean;
  725. b: TGLboolean; a: TGLboolean);stdcall;
  726. PFNGLGETBOOLEANI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLboolean);stdcall;
  727. PFNGLGETINTEGERI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLint);stdcall;
  728. PFNGLENABLEIPROC = procedure(target: Cardinal; index: Cardinal);stdcall;
  729. PFNGLDISABLEIPROC = procedure(target: Cardinal; index: Cardinal);stdcall;
  730. PFNGLISENABLEDIPROC = function(target: Cardinal; index: Cardinal): TGLboolean;stdcall;
  731. //promoted to core v3.0 from GL_EXT_transform_feedback
  732. PFNGLBINDBUFFERRANGEPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal;
  733. offset:TGLintptr; size: TGLsizeiptr);stdcall;
  734. PFNGLBINDBUFFERBASEPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal);stdcall;
  735. PFNGLBEGINTRANSFORMFEEDBACKPROC = procedure(primitiveMode: Cardinal);stdcall;
  736. PFNGLENDTRANSFORMFEEDBACKPROC = procedure();stdcall;
  737. PFNGLTRANSFORMFEEDBACKVARYINGSPROC = procedure(_program: Cardinal; count: TGLsizei;
  738. const varyings: PGLPCharArray; bufferMode: Cardinal);stdcall;
  739. PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = procedure(_program: Cardinal; index: Cardinal;
  740. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PCardinal; name: PAnsiChar);stdcall;
  741. // New commands in OpenGL 3.0
  742. PFNGLCLEARBUFFERIVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLint);stdcall;
  743. PFNGLCLEARBUFFERUIVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLuint);stdcall;
  744. PFNGLCLEARBUFFERFVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLfloat);stdcall;
  745. PFNGLCLEARBUFFERFIPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; depth: TGLfloat; stencil: TGLint);stdcall;
  746. PFNGLGETSTRINGIPROC = function(name: Cardinal; index: Cardinal): PAnsiChar;stdcall;
  747. // Core 3.1
  748. // New commands in OpenGL 3.1
  749. PFNGLDRAWARRAYSINSTANCEDPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei);stdcall;
  750. PFNGLDRAWELEMENTSINSTANCEDPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei);stdcall;
  751. PFNGLTEXBUFFERPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal);stdcall;
  752. PFNGLPRIMITIVERESTARTINDEXPROC = procedure(index: Cardinal);stdcall;
  753. // Core 3.2
  754. PFNGLGETINTEGER64I_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLint64);stdcall;
  755. PFNGLGETBUFFERPARAMETERI64VPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint64);stdcall;
  756. PFNGLFRAMEBUFFERTEXTUREPROC = procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint);stdcall;
  757. // Core 3.3
  758. PFNGLVERTEXATTRIBDIVISORPROC = procedure(index: Cardinal; divisor: Cardinal);stdcall;
  759. // Core 4.0
  760. // promoted to core v4.0 from GL_ARB_draw_buffers_blend (ARB #69)
  761. PFNGLBLENDEQUATIONIPROC = procedure(buf: Cardinal; mode: Cardinal);stdcall;
  762. PFNGLBLENDEQUATIONSEPARATEIPROC = procedure(buf: Cardinal; modeRGB: Cardinal; modeAlpha: Cardinal);stdcall;
  763. PFNGLBLENDFUNCIPROC = procedure(buf: Cardinal; src: Cardinal; dst: Cardinal);stdcall;
  764. PFNGLBLENDFUNCSEPARATEIPROC = procedure(buf: Cardinal; srcRGB: Cardinal; dstRGB: Cardinal;
  765. srcAlpha: Cardinal; dstAlpha: Cardinal);stdcall;
  766. // promoted to core v4.0 from GL_ARB_sample_shading (ARB #70)
  767. PFNGLMINSAMPLESHADINGPROC = procedure(value: Single);stdcall;
  768. // GLU extensions (might not be same naming as c versions?)
  769. PFNGLUNURBSCALLBACKDATAEXTPROC = procedure(nurb: PGLUnurbs; userData: Pointer); stdcall;
  770. PFNGLUNEWNURBSTESSELLATOREXTPROC = function: PGLUnurbs; stdcall;
  771. PFNGLUDELETENURBSTESSELLATOREXTPROC = procedure(nurb: PGLUnurbs); stdcall;
  772. {$IFDEF SUPPORT_WGL}
  773. // WGL
  774. // WGL - ARB
  775. // WGL_buffer_region (ARB #4)
  776. PFNWGLCREATEBUFFERREGIONARBPROC = function(DC: HDC; iLayerPlane: Integer; uType: Cardinal) : Integer; stdcall;
  777. PFNWGLDELETEBUFFERREGIONARBPROC = procedure(hRegion: Integer); stdcall;
  778. PFNWGLSAVEBUFFERREGIONARBPROC = function(hRegion: Integer; x, y, width, height: Integer): BOOL; stdcall;
  779. PFNWGLRESTOREBUFFERREGIONARBPROC = function(hRegion: Integer; x, y, width, height: Integer;
  780. xSrc, ySrc: Integer): BOOL; stdcall;
  781. // WGL_ARB_extensions_string (ARB #8)
  782. PFNWGLGETEXTENSIONSSTRINGARBPROC = function(DC: HDC): PAnsiChar; stdcall;
  783. // WGL_ARB_pixel_format (ARB #9)
  784. PFNWGLGETPIXELFORMATATTRIBIVARBPROC = function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
  785. const piAttributes: PGLint; piValues : PGLint) : BOOL; stdcall;
  786. PFNWGLGETPIXELFORMATATTRIBFVARBPROC = function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal;
  787. const piAttributes: PGLint; piValues: PGLFloat) : BOOL; stdcall;
  788. PFNWGLCHOOSEPIXELFORMATARBPROC = function(DC: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLFloat;
  789. nMaxFormats: Cardinal; piFormats: PGLint; nNumFormats: PCardinal) : BOOL; stdcall;
  790. // WGL_make_current_read (ARB #10)
  791. PFNWGLMAKECONTEXTCURRENTARBPROC = function(hDrawDC: HDC; hReadDC: HDC; _hglrc: HGLRC): BOOL; stdcall;
  792. PFNWGLGETCURRENTREADDCARBPROC = function(): HDC; stdcall;
  793. // WGL_ARB_pbuffer (ARB #11)
  794. PFNWGLCREATEPBUFFERARBPROC = function(DC: HDC; iPixelFormat: TGLint; iWidth, iHeight : TGLint;
  795. const piAttribList: PGLint) : HPBUFFERARB; stdcall;
  796. PFNWGLGETPBUFFERDCARBPROC = function(hPbuffer: HPBUFFERARB) : HDC; stdcall;
  797. PFNWGLRELEASEPBUFFERDCARBPROC = function(hPbuffer: HPBUFFERARB; DC: HDC) : Integer; stdcall;
  798. PFNWGLDESTROYPBUFFERARBPROC = function(hPbuffer: HPBUFFERARB): BOOL; stdcall;
  799. PFNWGLQUERYPBUFFERARBPROC = function(hPbuffer: HPBUFFERARB; iAttribute : Integer;
  800. piValue: PGLint) : BOOL; stdcall;
  801. // WGL_ARB_render_texture (ARB #20)
  802. PFNWGLBINDTEXIMAGEARBPROC = function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  803. PFNWGLRELEASETEXIMAGEARBPROC = function(hpBuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
  804. PFNWGLSETPBUFFERATTRIBARBPROC = function(hpBuffer: HPBUFFERARB; const piAttribList: PGLint): BOOL; stdcall;
  805. // WGL_ARB_create_context (ARB #55)
  806. PFNWGLCREATECONTEXTATTRIBSARBPROC = function(DC: HDC; hShareContext: HGLRC;
  807. attribList: PGLint):HGLRC; stdcall;
  808. // WGL - EXT
  809. // WGL_EXT_swap_control (EXT #172)
  810. PFNWGLSWAPINTERVALEXTPROC = function(interval : Integer) : BOOL; stdcall;
  811. PFNWGLGETSWAPINTERVALEXTPROC = function : Integer; stdcall;
  812. // WGL_NV_gpu_affinity (EXT #355)
  813. PFNWGLENUMGPUSNVPROC = function(iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean; stdcall;
  814. PFNWGLENUMGPUDEVICESNVPROC = function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPUDevice): Boolean; stdcall;
  815. PFNWGLCREATEAFFINITYDCNVPROC = function(hGpuList: PHGPUNV): HDC; stdcall;
  816. PFNWGLENUMGPUSFROMAFFINITYDCNVPROC = function(hAffinityDC: HDC; iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean; stdcall;
  817. PFNWGLDELETEDCNVPROC = function(hdc: HDC): Boolean; stdcall;
  818. // WGL_NV_DX_interop (EXT #407)
  819. PFNWGLDXSETRESOURCESHAREHANDLEPROC = function (dxObject: Pointer; shareHandle: THandle): BOOL; stdcall;
  820. PFNWGLDXOPENDEVICEPROC = function(dxDevice: Pointer): THandle; stdcall;
  821. PFNWGLDXCLOSEDEVICEPROC = function(hDevice: THandle): BOOL; stdcall;
  822. PFNWGLDXREGISTEROBJECTPROC = function(hDevice: THandle; dxObject: Pointer;
  823. name: Cardinal; atype: Cardinal; access: Cardinal): THandle; stdcall;
  824. PFNWGLDXUNREGISTEROBJECTPROC = function(hDevice: THandle; hObject: THandle): BOOL; stdcall;
  825. PFNWGLDXOBJECTACCESSPROC = function(hObject: THandle; access: Cardinal): BOOL; stdcall;
  826. PFNWGLDXLOCKOBJECTSPROC = function(hDevice: THandle; count: TGLint; hObjects: PHandle): BOOL; stdcall;
  827. PFNWGLDXUNLOCKOBJECTSNVPROC = function (hDevice: THandle; count: TGLint; hObjects: PHandle): BOOL; stdcall;
  828. {$ENDIF}
  829. // ARB Extensions
  830. // unknown ARB extension
  831. PFNGLSAMPLEPASSARBPROC = procedure(pass: Cardinal); stdcall;
  832. // GL_ARB_multitexture (ARB #1)
  833. PFNGLACTIVETEXTUREARBPROC = procedure(target: Cardinal); stdcall;
  834. PFNGLCLIENTACTIVETEXTUREARBPROC = procedure(target: Cardinal); stdcall;
  835. PFNGLMULTITEXCOORD1DARBPROC = procedure(target: Cardinal; s: TGLdouble); stdcall;
  836. PFNGLMULTITEXCOORD1DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
  837. PFNGLMULTITEXCOORD1FARBPROC = procedure(target: Cardinal; s: TGLfloat); stdcall;
  838. PFNGLMULTITEXCOORD1FVARBPROC = procedure(target: Cardinal; v: TGLfloat); stdcall;
  839. PFNGLMULTITEXCOORD1IARBPROC = procedure(target: Cardinal; s: TGLint); stdcall;
  840. PFNGLMULTITEXCOORD1IVARBPROC = procedure(target: Cardinal; v: PGLInt); stdcall;
  841. PFNGLMULTITEXCOORD1SARBPROC = procedure(target: Cardinal; s: TGLshort); stdcall;
  842. PFNGLMULTITEXCOORD1SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
  843. PFNGLMULTITEXCOORD2DARBPROC = procedure(target: Cardinal; s, t: TGLdouble); stdcall;
  844. PFNGLMULTITEXCOORD2DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
  845. PFNGLMULTITEXCOORD2FARBPROC = procedure(target: Cardinal; s, t: TGLfloat); stdcall;
  846. PFNGLMULTITEXCOORD2FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
  847. PFNGLMULTITEXCOORD2IARBPROC = procedure(target: Cardinal; s, t: TGLint); stdcall;
  848. PFNGLMULTITEXCOORD2IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
  849. PFNGLMULTITEXCOORD2SARBPROC = procedure(target: Cardinal; s, t: TGLshort); stdcall;
  850. PFNGLMULTITEXCOORD2SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
  851. PFNGLMULTITEXCOORD3DARBPROC = procedure(target: Cardinal; s, t, r: TGLdouble); stdcall;
  852. PFNGLMULTITEXCOORD3DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
  853. PFNGLMULTITEXCOORD3FARBPROC = procedure(target: Cardinal; s, t, r: TGLfloat); stdcall;
  854. PFNGLMULTITEXCOORD3FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
  855. PFNGLMULTITEXCOORD3IARBPROC = procedure(target: Cardinal; s, t, r: TGLint); stdcall;
  856. PFNGLMULTITEXCOORD3IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
  857. PFNGLMULTITEXCOORD3SARBPROC = procedure(target: Cardinal; s, t, r: TGLshort); stdcall;
  858. PFNGLMULTITEXCOORD3SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
  859. PFNGLMULTITEXCOORD4DARBPROC = procedure(target: Cardinal; s, t, r, q: TGLdouble); stdcall;
  860. PFNGLMULTITEXCOORD4DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
  861. PFNGLMULTITEXCOORD4FARBPROC = procedure(target: Cardinal; s, t, r, q: TGLfloat); stdcall;
  862. PFNGLMULTITEXCOORD4FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
  863. PFNGLMULTITEXCOORD4IARBPROC = procedure(target: Cardinal; s, t, r, q: TGLint); stdcall;
  864. PFNGLMULTITEXCOORD4IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
  865. PFNGLMULTITEXCOORD4SARBPROC = procedure(target: Cardinal; s, t, r, q: TGLshort); stdcall;
  866. PFNGLMULTITEXCOORD4SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
  867. // GL_ARB_transpose_matrix (ARB #3)
  868. PFNGLLOADTRANSPOSEMATRIXFARBPROC = procedure(m: PGLfloat); stdcall;
  869. PFNGLLOADTRANSPOSEMATRIXDARBPROC = procedure(m: PGLdouble); stdcall;
  870. PFNGLMULTTRANSPOSEMATRIXFARBPROC = procedure(m: PGLfloat); stdcall;
  871. PFNGLMULTTRANSPOSEMATRIXDARBPROC = procedure(m: PGLdouble); stdcall;
  872. // GL_ARB_multisample (ARB #5)
  873. PFNGLSAMPLECOVERAGEARBPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
  874. // GL_ARB_texture_compression (ARB #12)
  875. PFNGLCOMPRESSEDTEXIMAGE3DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
  876. PFNGLCOMPRESSEDTEXIMAGE2DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
  877. PFNGLCOMPRESSEDTEXIMAGE1DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
  878. PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
  879. PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
  880. PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
  881. PFNGLGETCOMPRESSEDTEXIMAGEARBPROC = procedure(target: Cardinal; level: TGLint; img: pointer); stdcall;
  882. // GL_ARB_point_parameter (ARB #14)
  883. PFNGLPOINTPARAMETERFARBPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
  884. PFNGLPOINTPARAMETERFVARBPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
  885. // GL_ARB_vertex_blend (ARB #15) {deprecated?}
  886. PFNGLWEIGHTBVARBPROC = procedure(size: TGLint; weights: PGLbyte); stdcall;
  887. PFNGLWEIGHTSVARBPROC = procedure(size: TGLint; weights: PGLshort); stdcall;
  888. PFNGLWEIGHTIVARBPROC = procedure(size: TGLint; weights: PGLint); stdcall;
  889. PFNGLWEIGHTFVARBPROC = procedure(size: TGLint; weights: PGLfloat); stdcall;
  890. PFNGLWEIGHTDVARBPROC = procedure(size: TGLint; weights: PGLdouble); stdcall;
  891. PFNGLWEIGHTUBVARBPROC = procedure(size: TGLint; weights: PGLubyte); stdcall;
  892. PFNGLWEIGHTUSVARBPROC = procedure(size: TGLint; weights: PGLushort); stdcall;
  893. PFNGLWEIGHTUIVARBPROC = procedure(size: TGLint; weights: PGLuint); stdcall;
  894. PFNGLWEIGHTPOINTERARBPROC = procedure(size: TGLint; _type: Cardinal; stride:TGLsizei;
  895. _pointer:pointer); stdcall;
  896. PFNGLVERTEXBLENDARBPROC = procedure(count: TGLint); stdcall;
  897. // GL_ARB_matrix_palette (ARB #16) {deprecated?}
  898. PFNGLCURRENTPALETTEMATRIXARBPROC = procedure(index: TGLint); stdcall;
  899. PFNGLMATRIXINDEXUBVARBPROC = procedure(size: TGLint; indices: PGLubyte); stdcall;
  900. PFNGLMATRIXINDEXUSVARBPROC = procedure(size: TGLint; indices: PGLushort); stdcall;
  901. PFNGLMATRIXINDEXUIVARBPROC = procedure(size: TGLint; indices: PGLuint); stdcall;
  902. PFNGLMATRIXINDEXPOINTERARBPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer:pointer); stdcall;
  903. // GL_ARB_window_pos (ARB #25)
  904. PFNGLWINDOWPOS2DARBPROC = procedure(x,y : TGLdouble);stdcall;
  905. PFNGLWINDOWPOS2DVARBPROC = procedure(v : PGLdouble);stdcall;
  906. PFNGLWINDOWPOS2FARBPROC = procedure(x,y : TGLfloat);stdcall;
  907. PFNGLWINDOWPOS2FVARBPROC = procedure(v : PGLfloat);stdcall;
  908. PFNGLWINDOWPOS2IARBPROC = procedure(x,y : TGLint);stdcall;
  909. PFNGLWINDOWPOS2IVARBPROC = procedure(v : PGLint);stdcall;
  910. PFNGLWINDOWPOS2SARBPROC = procedure(x,y : TGLshort);stdcall;
  911. PFNGLWINDOWPOS2SVARBPROC = procedure(v : PGLshort);stdcall;
  912. PFNGLWINDOWPOS3DARBPROC = procedure(x,y,z : TGLdouble);stdcall;
  913. PFNGLWINDOWPOS3DVARBPROC = procedure(v : PGLdouble);stdcall;
  914. PFNGLWINDOWPOS3FARBPROC = procedure(x,y,z : TGLfloat);stdcall;
  915. PFNGLWINDOWPOS3FVARBPROC = procedure(v : PGLfloat);stdcall;
  916. PFNGLWINDOWPOS3IARBPROC = procedure(x,y,z : TGLint);stdcall;
  917. PFNGLWINDOWPOS3IVARBPROC = procedure(v : PGLint);stdcall;
  918. PFNGLWINDOWPOS3SARBPROC = procedure(x,y,z : TGLshort);stdcall;
  919. PFNGLWINDOWPOS3SVARBPROC = procedure(v : PGLshort);stdcall;
  920. // GL_ARB_vertex_program (ARB #26)
  921. PFNGLVERTEXATTRIB1DARBPROC = procedure(index: Cardinal; x: TGLdouble); stdcall;
  922. PFNGLVERTEXATTRIB1DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
  923. PFNGLVERTEXATTRIB1FARBPROC = procedure(index: Cardinal; x: TGLfloat); stdcall;
  924. PFNGLVERTEXATTRIB1FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
  925. PFNGLVERTEXATTRIB1SARBPROC = procedure(index: Cardinal; x: TGLshort); stdcall;
  926. PFNGLVERTEXATTRIB1SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
  927. PFNGLVERTEXATTRIB2DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
  928. PFNGLVERTEXATTRIB2DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
  929. PFNGLVERTEXATTRIB2FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat); stdcall;
  930. PFNGLVERTEXATTRIB2FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
  931. PFNGLVERTEXATTRIB2SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort); stdcall;
  932. PFNGLVERTEXATTRIB2SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
  933. PFNGLVERTEXATTRIB3DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
  934. PFNGLVERTEXATTRIB3DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
  935. PFNGLVERTEXATTRIB3FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
  936. PFNGLVERTEXATTRIB3FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
  937. PFNGLVERTEXATTRIB3SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort); stdcall;
  938. PFNGLVERTEXATTRIB3SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
  939. PFNGLVERTEXATTRIB4NBVARBPROC = procedure(index: Cardinal; const v: PGLbyte); stdcall;
  940. PFNGLVERTEXATTRIB4NIVARBPROC = procedure(index: Cardinal; const v: PGLint); stdcall;
  941. PFNGLVERTEXATTRIB4NSVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
  942. PFNGLVERTEXATTRIB4NUBARBPROC = procedure(index: Cardinal; x: TGLubyte; y: TGLubyte; z: TGLubyte; w: TGLubyte); stdcall;
  943. PFNGLVERTEXATTRIB4NUBVARBPROC = procedure(index: Cardinal; const v: PGLubyte); stdcall;
  944. PFNGLVERTEXATTRIB4NUIVARBPROC = procedure(index: Cardinal; const v: PGLuint); stdcall;
  945. PFNGLVERTEXATTRIB4NUSVARBPROC = procedure(index: Cardinal; const v: PGLushort); stdcall;
  946. PFNGLVERTEXATTRIB4BVARBPROC = procedure(index: Cardinal; const v: PGLbyte); stdcall;
  947. PFNGLVERTEXATTRIB4DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
  948. PFNGLVERTEXATTRIB4DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
  949. PFNGLVERTEXATTRIB4FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
  950. PFNGLVERTEXATTRIB4FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
  951. PFNGLVERTEXATTRIB4IVARBPROC = procedure(index: Cardinal; const v: PGLint); stdcall;
  952. PFNGLVERTEXATTRIB4SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort; w: TGLshort); stdcall;
  953. PFNGLVERTEXATTRIB4SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
  954. PFNGLVERTEXATTRIB4UBVARBPROC = procedure(index: Cardinal; const v: PGLubyte); stdcall;
  955. PFNGLVERTEXATTRIB4UIVARBPROC = procedure(index: Cardinal; const v: PGLuint); stdcall;
  956. PFNGLVERTEXATTRIB4USVARBPROC = procedure(index: Cardinal; const v: PGLushort); stdcall;
  957. PFNGLVERTEXATTRIBPOINTERARBPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei; const _pointer: pointer); stdcall;
  958. PFNGLENABLEVERTEXATTRIBARRAYARBPROC = procedure(index: Cardinal); stdcall;
  959. PFNGLDISABLEVERTEXATTRIBARRAYARBPROC = procedure(index: Cardinal); stdcall;
  960. PFNGLPROGRAMSTRINGARBPROC = procedure(target: Cardinal; format: Cardinal; len: TGLsizei; const _string: pointer); stdcall;
  961. PFNGLBINDPROGRAMARBPROC = procedure(target: Cardinal; _program: Cardinal); stdcall;
  962. PFNGLDELETEPROGRAMSARBPROC = procedure(n: TGLsizei; const programs: PGLuint); stdcall;
  963. PFNGLGENPROGRAMSARBPROC = procedure(n: TGLsizei; programs: PGLuint); stdcall;
  964. PFNGLPROGRAMENVPARAMETER4DARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
  965. PFNGLPROGRAMENVPARAMETER4DVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLdouble); stdcall;
  966. PFNGLPROGRAMENVPARAMETER4FARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
  967. PFNGLPROGRAMENVPARAMETER4FVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLfloat); stdcall;
  968. PFNGLPROGRAMLOCALPARAMETER4DARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
  969. PFNGLPROGRAMLOCALPARAMETER4DVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLdouble); stdcall;
  970. PFNGLPROGRAMLOCALPARAMETER4FARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
  971. PFNGLPROGRAMLOCALPARAMETER4FVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLfloat); stdcall;
  972. PFNGLGETPROGRAMENVPARAMETERDVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLdouble); stdcall;
  973. PFNGLGETPROGRAMENVPARAMETERFVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLfloat); stdcall;
  974. PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLdouble); stdcall;
  975. PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLfloat); stdcall;
  976. PFNGLGETPROGRAMIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  977. PFNGLGETPROGRAMSTRINGARBPROC = procedure(target: Cardinal; pname: Cardinal; _string: pointer); stdcall;
  978. PFNGLGETVERTEXATTRIBDVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
  979. PFNGLGETVERTEXATTRIBFVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  980. PFNGLGETVERTEXATTRIBIVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  981. PFNGLGETVERTEXATTRIBPOINTERVARBPROC = procedure(index: Cardinal; pname: Cardinal; _pointer: pointer); stdcall;
  982. PFNGLISPROGRAMARBPROC = function(_program: Cardinal): TGLboolean; stdcall;
  983. // GL_ARB_vertex_buffer_object (ARB #28)
  984. PFNGLBINDBUFFERARBPROC = procedure(target: Cardinal; buffer: Cardinal); stdcall;
  985. PFNGLDELETEBUFFERSARBPROC = procedure(n: TGLsizei; const buffers: PGLuint); stdcall;
  986. PFNGLGENBUFFERSARBPROC = procedure(n: TGLsizei; buffers: PGLuint); stdcall;
  987. PFNGLISBUFFERARBPROC = function(buffer: Cardinal): TGLboolean; stdcall;
  988. PFNGLBUFFERDATAARBPROC = procedure(target: Cardinal; size: TGLsizei; const data: Pointer; usage: Cardinal); stdcall;
  989. PFNGLBUFFERSUBDATAARBPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; const data: Pointer); stdcall;
  990. PFNGLGETBUFFERSUBDATAARBPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; data: Pointer); stdcall;
  991. PFNGLMAPBUFFERARBPROC = function(target: Cardinal; access: Cardinal): Pointer; stdcall;
  992. PFNGLUNMAPBUFFERARBPROC = function(target: Cardinal): TGLboolean; stdcall;
  993. PFNGLGETBUFFERPARAMETERIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  994. PFNGLGETBUFFERPOINTERVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: Pointer); stdcall;
  995. // GL_ARB_occlusion_query (ARB #29)
  996. PFNGLGENQUERIESARBPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
  997. PFNGLDELETEQUERIESARBPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
  998. PFNGLISQUERYARBPROC = function(id: Cardinal): TGLboolean; stdcall;
  999. PFNGLBEGINQUERYARBPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
  1000. PFNGLENDQUERYARBPROC = procedure(target: Cardinal); stdcall;
  1001. PFNGLGETQUERYIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1002. PFNGLGETQUERYOBJECTIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1003. PFNGLGETQUERYOBJECTUIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
  1004. // GL_ARB_shader_objects (ARB #30)
  1005. PFNGLDELETEOBJECTARBPROC = procedure(obj: TGLhandleARB); stdcall;
  1006. PFNGLGETHANDLEARBPROC = function(pname: Cardinal): TGLhandleARB; stdcall;
  1007. PFNGLDETACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; attachedObj: TGLhandleARB); stdcall;
  1008. PFNGLCREATESHADEROBJECTARBPROC = function(shaderType: Cardinal): TGLhandleARB; stdcall;
  1009. PFNGLSHADERSOURCEARBPROC = procedure(shaderObj: TGLhandleARB; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); stdcall;
  1010. PFNGLCOMPILESHADERARBPROC = procedure(shaderObj: TGLhandleARB); stdcall;
  1011. PFNGLCREATEPROGRAMOBJECTARBPROC = function(): TGLhandleARB; stdcall;
  1012. PFNGLATTACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; obj: TGLhandleARB); stdcall;
  1013. PFNGLLINKPROGRAMARBPROC = procedure(programObj: TGLhandleARB); stdcall;
  1014. PFNGLUSEPROGRAMOBJECTARBPROC = procedure(programObj: TGLhandleARB); stdcall;
  1015. PFNGLVALIDATEPROGRAMARBPROC = procedure(programObj: TGLhandleARB); stdcall;
  1016. PFNGLUNIFORM1FARBPROC = procedure(location: TGLint; v0: TGLfloat); stdcall;
  1017. PFNGLUNIFORM2FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
  1018. PFNGLUNIFORM3FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
  1019. PFNGLUNIFORM4FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
  1020. PFNGLUNIFORM1IARBPROC = procedure(location: TGLint; v0: TGLint); stdcall;
  1021. PFNGLUNIFORM2IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint); stdcall;
  1022. PFNGLUNIFORM3IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
  1023. PFNGLUNIFORM4IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
  1024. PFNGLUNIFORM1FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  1025. PFNGLUNIFORM2FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  1026. PFNGLUNIFORM3FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  1027. PFNGLUNIFORM4FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
  1028. PFNGLUNIFORM1IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  1029. PFNGLUNIFORM2IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  1030. PFNGLUNIFORM3IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  1031. PFNGLUNIFORM4IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
  1032. PFNGLUNIFORMMATRIX2FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
  1033. PFNGLUNIFORMMATRIX3FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
  1034. PFNGLUNIFORMMATRIX4FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
  1035. PFNGLGETOBJECTPARAMETERFVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLfloat); stdcall;
  1036. PFNGLGETOBJECTPARAMETERIVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLint); stdcall;
  1037. PFNGLGETINFOLOGARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
  1038. PFNGLGETATTACHEDOBJECTSARBPROC = procedure(containerObj: TGLhandleARB; maxCount: TGLsizei; count: PGLsizei; obj: PGLhandleARB); stdcall;
  1039. PFNGLGETUNIFORMLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; stdcall;
  1040. PFNGLGETACTIVEUNIFORMARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
  1041. PFNGLGETUNIFORMFVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLfloat); stdcall;
  1042. PFNGLGETUNIFORMIVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLint); stdcall;
  1043. PFNGLGETSHADERSOURCEARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; source: PAnsiChar); stdcall;
  1044. // GL_ARB_vertex_shader (ARB #31)
  1045. PFNGLBINDATTRIBLOCATIONARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; const name: PAnsiChar); stdcall;
  1046. PFNGLGETACTIVEATTRIBARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
  1047. PFNGLGETATTRIBLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; stdcall;
  1048. // GL_ARB_DrawBuffers (ARB #37)
  1049. PFNGLDRAWBUFFERSARBPROC = procedure (n: TGLsizei; const bufs: PCardinal); stdcall;
  1050. // GL_ARB_color_buffer_float (ARB #39)
  1051. PFNGLCLAMPCOLORARBPROC = procedure (target: Cardinal; clamp: Cardinal); stdcall;
  1052. // GL_ARB_draw_instanced (ARB #44)
  1053. PFNGLDRAWARRAYSINSTANCEDARBPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei;
  1054. primcount: TGLsizei);stdcall;
  1055. PFNGLDRAWELEMENTSINSTANCEDARBPROC = procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal;
  1056. indices: PGLvoid; primcount: TGLsizei);stdcall;
  1057. // GL_ARB_framebuffer_object (ARB #45)
  1058. PFNGLISRENDERBUFFERPROC = function(renderbuffer: Cardinal): TGLBoolean; stdcall;
  1059. PFNGLBINDRENDERBUFFERPROC = procedure(target: Cardinal; renderbuffer: Cardinal); stdcall;
  1060. PFNGLDELETERENDERBUFFERSPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
  1061. PFNGLGENRENDERBUFFERSPROC = procedure(n: TGLSizei; renderbuffers: PGLuint); stdcall;
  1062. PFNGLRENDERBUFFERSTORAGEPROC = procedure(target: Cardinal; internalformat: Cardinal;
  1063. width: TGLsizei; height: TGLsizei); stdcall;
  1064. PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei;
  1065. internalformat: Cardinal;
  1066. width: TGLsizei; height: TGLsizei); stdcall;
  1067. PFNGLGETRENDERBUFFERPARAMETERIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1068. PFNGLISFRAMEBUFFERPROC = function(framebuffer: Cardinal): TGLboolean; stdcall;
  1069. PFNGLBINDFRAMEBUFFERPROC = procedure(target: Cardinal; framebuffer: Cardinal); stdcall;
  1070. PFNGLDELETEFRAMEBUFFERSPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
  1071. PFNGLGENFRAMEBUFFERSPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
  1072. PFNGLCHECKFRAMEBUFFERSTATUSPROC = function(target: Cardinal): Cardinal; stdcall;
  1073. PFNGLFRAMEBUFFERTEXTURE1DPROC = procedure(target: Cardinal; attachment: Cardinal;
  1074. textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1075. PFNGLFRAMEBUFFERTEXTURE2DPROC = procedure(target: Cardinal; attachment: Cardinal;
  1076. textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1077. PFNGLFRAMEBUFFERTEXTURE3DPROC = procedure(target: Cardinal; attachment: Cardinal;
  1078. textarget: Cardinal; texture: Cardinal;
  1079. level: TGLint; layer: TGLint); stdcall;
  1080. PFNGLFRAMEBUFFERTEXTURELAYERPROC = procedure(target: Cardinal; attachment: Cardinal;
  1081. texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
  1082. PFNGLFRAMEBUFFERRENDERBUFFERPROC = procedure(target: Cardinal; attachment: Cardinal;
  1083. renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
  1084. PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = procedure(target: Cardinal; attachment: Cardinal;
  1085. pname: Cardinal; params: PGLint); stdcall;
  1086. PFNGLBLITFRAMEBUFFERPROC = procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint;
  1087. dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  1088. mask: TGLbitfield; filter: Cardinal); stdcall;
  1089. PFNGLGENERATEMIPMAPPROC = procedure(target: Cardinal); stdcall;
  1090. // GL_ARB_geometry_shader4 (ARB #47)
  1091. PFNGLPROGRAMPARAMETERIARBPROC = procedure ( _program:Cardinal; pname:Cardinal; value: TGLint); stdcall;
  1092. PFNGLFRAMEBUFFERTEXTUREARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint); stdcall;
  1093. PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; layer:TGLint); stdcall;
  1094. PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; face:Cardinal); stdcall;
  1095. // GL_ARB_instanced_arrays (ARB #49)
  1096. PFNGLVERTEXATTRIBDIVISORARBPROC = procedure(index: Cardinal; divisor: Cardinal);stdcall;
  1097. // GL_ARB_map_buffer_range (ARB #50)
  1098. PFNGLMAPBUFFERRANGEPROC = function(target: Cardinal; offset: TGLint{ptr}; length: TGLsizei{ptr};
  1099. access: TGLbitfield ): Pointer;stdcall;
  1100. PFNGLFLUSHMAPPEDBUFFERRANGEPROC = procedure( target: Cardinal; offset: TGLint{ptr}; length: TGLsizei{ptr} );stdcall;
  1101. // GL_ARB_texture_buffer_object (ARB #51)
  1102. PFNGLTEXBUFFERARBPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal);stdcall;
  1103. // GL_ARB_vertex_array_object (ARB #54)
  1104. PFNGLBINDVERTEXARRAYPROC = procedure(_array: Cardinal);stdcall;
  1105. PFNGLDELETEVERTEXARRAYSPROC = procedure(n: TGLsizei; arrays: PGLuint);stdcall;
  1106. PFNGLGENVERTEXARRAYSPROC = procedure(n: TGLsizei; arrays: PGLuint);stdcall;
  1107. PFNGLISVERTEXARRAYPROC = function(_array: Cardinal): TGLboolean;stdcall;
  1108. // GL_ARB_uniform_buffer_object (ARB #57)
  1109. PFNGLGETUNIFORMINDICESPROC = procedure(_program: Cardinal; uniformCount: TGLsizei; uniformNames: PGLPCharArray; uniformIndices: PGLuint);stdcall;
  1110. PFNGLGETACTIVEUNIFORMSIVPROC = procedure(_program: Cardinal; uniformCount: TGLsizei; uniformIndices: PGLuint; pname: Cardinal; params: PGLint);stdcall;
  1111. PFNGLGETACTIVEUNIFORMNAMEPROC = procedure(_program: Cardinal; uniformIndex: Cardinal; bufSize: TGLsizei; length: PGLsizei; uniformName: PAnsiChar);stdcall;
  1112. PFNGLGETUNIFORMBLOCKINDEXPROC = function(_program: Cardinal; uniformBlockName: PAnsiChar): Cardinal;stdcall;
  1113. PFNGLGETACTIVEUNIFORMBLOCKIVPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1114. PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; bufSize: TGLsizei; length: PGLsizei; uniformBlockName: PAnsiChar);stdcall;
  1115. PFNGLUNIFORMBLOCKBINDINGPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; uniformBlockBinding: Cardinal);stdcall;
  1116. // GL_ARB_copy_buffer (ARB #59)
  1117. PFNGLCOPYBUFFERSUBDATAPROC = procedure(readTarget: Cardinal; writeTarget: Cardinal;
  1118. readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr);stdcall;
  1119. // GL_ARB_draw_elements_base_vertex (ARB #62)
  1120. PFNGLDRAWELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; count: TGLsizei;
  1121. _type: Cardinal; indices: PGLvoid; basevertex: TGLint);stdcall;
  1122. PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; start: Cardinal; _end: Cardinal;
  1123. count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint);stdcall;
  1124. PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC = procedure(mode: Cardinal; count: TGLsizei;
  1125. _type: Cardinal; indices: PGLvoid; primcount: TGLsizei; basevertex: TGLint);stdcall;
  1126. PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; count: PGLsizei;
  1127. _type: Cardinal; var indices; primcount: TGLsizei; basevertex: PGLint);stdcall;
  1128. // GL_ARB_provoking_vertex (ARB #64)
  1129. PFNGLPROVOKINGVERTEXPROC = procedure(mode: Cardinal);stdcall;
  1130. // GL_ARB_sync (ARB #66)
  1131. PFNGLFENCESYNCPROC = function(condition: Cardinal; flags: TGLbitfield): TGLsync;stdcall;
  1132. PFNGLISSYNCPROC = function(sync: TGLsync): TGLboolean;stdcall;
  1133. PFNGLDELETESYNCPROC = procedure(sync: TGLsync);stdcall;
  1134. PFNGLCLIENTWAITSYNCPROC = function(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64): Cardinal;stdcall;
  1135. PFNGLWAITSYNCPROC = procedure(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64);stdcall;
  1136. PFNGLGETINTEGER64VPROC = procedure(pname: Cardinal; params: PGLint64);stdcall;
  1137. PFNGLGETSYNCIVPROC = procedure(sync: TGLsync; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint);stdcall;
  1138. // GL_ARB_texture_multisample (ARB #67)
  1139. PFNGLTEXIMAGE2DMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint;
  1140. width: TGLsizei; height: TGLsizei;
  1141. fixedsamplelocations: TGLboolean);stdcall;
  1142. PFNGLTEXIMAGE3DMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint;
  1143. width: TGLsizei; height: TGLsizei; depth: TGLsizei;
  1144. fixedsamplelocations: TGLboolean);stdcall;
  1145. PFNGLGETMULTISAMPLEFVPROC = procedure(pname: Cardinal; index: Cardinal; val: PGLfloat);stdcall;
  1146. PFNGLSAMPLEMASKIPROC = procedure(index: Cardinal; mask: TGLbitfield);stdcall;
  1147. // GL_ARB_draw_buffers_blend (ARB #69)
  1148. PFNGLBLENDEQUATIONIARBPROC = procedure(buf: Cardinal; mode: Cardinal);stdcall;
  1149. PFNGLBLENDEQUATIONSEPARATEIARBPROC = procedure(buf: Cardinal; modeRGB: Cardinal; modeAlpha: Cardinal);stdcall;
  1150. PFNGLBLENDFUNCIARBPROC = procedure(buf: Cardinal; src: Cardinal; dst: Cardinal);stdcall;
  1151. PFNGLBLENDFUNCSEPARATEIARBPROC = procedure(buf: Cardinal; srcRGB: Cardinal; dstRGB: Cardinal;
  1152. srcAlpha: Cardinal; dstAlpha: Cardinal);stdcall;
  1153. // GL_ARB_sample_shading (ARB #70)
  1154. PFNGLMINSAMPLESHADINGARBPROC = procedure(value: Single);stdcall;
  1155. // GL_ARB_blend_func_extended (ARB #78)
  1156. PFNGLBINDFRAGDATALOCATIONINDEXEDPROC = procedure (_program: Cardinal; colorNumber: Cardinal; index: Cardinal; const name: PAnsiChar);stdcall;
  1157. PFNGLGETFRAGDATAINDEXPROC = function (_program: Cardinal; const name: PAnsiChar): TGLint;stdcall;
  1158. // GL_ARB_sampler_objects (ARB #81)
  1159. PFNGLGENSAMPLERSPROC = procedure(count: TGLsizei; samplers: PGLuint);stdcall;
  1160. PFNGLDELETESAMPLERSPROC = procedure(count: TGLsizei; const samplers: PGLuint);stdcall;
  1161. PFNGLISSAMPLERPROC = function(sampler: Cardinal): TGLboolean;stdcall;
  1162. PFNGLBINDSAMPLERPROC = procedure(_unit: Cardinal; sampler: Cardinal);stdcall;
  1163. PFNGLSAMPLERPARAMETERIPROC = procedure(sampler: Cardinal; pname: Cardinal; param: TGLint);stdcall;
  1164. PFNGLSAMPLERPARAMETERIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLint);stdcall;
  1165. PFNGLSAMPLERPARAMETERFPROC = procedure(sampler: Cardinal; pname: Cardinal; param: TGLfloat);stdcall;
  1166. PFNGLSAMPLERPARAMETERFVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLfloat);stdcall;
  1167. PFNGLSAMPLERPARAMETERIIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLint);stdcall;
  1168. PFNGLSAMPLERPARAMETERIUIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLuint);stdcall;
  1169. PFNGLGETSAMPLERPARAMETERIVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1170. PFNGLGETSAMPLERPARAMETERIIVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1171. PFNGLGETSAMPLERPARAMETERFVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLfloat);stdcall;
  1172. PFNGLGETSAMPLERPARAMETERIFVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLfloat);stdcall;
  1173. // GL_ARB_timer_query (ARB #85)
  1174. PFNGLQUERYCOUNTERPROC = procedure(id: Cardinal; target: Cardinal);stdcall;
  1175. PFNGLGETQUERYOBJECTI64VPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint64);stdcall;
  1176. PFNGLGETQUERYOBJECTUI64VPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint64);stdcall;
  1177. // GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
  1178. PFNGLVERTEXP2UIPROC = procedure(_type: Cardinal; value: Cardinal);stdcall;
  1179. PFNGLVERTEXP2UIVPROC = procedure(_type: Cardinal; const value: PGLuint );stdcall;
  1180. PFNGLVERTEXP3UIPROC = procedure(_type: Cardinal; value: Cardinal);stdcall;
  1181. PFNGLVERTEXP3UIVPROC = procedure(_type: Cardinal; const value: PGLuint);stdcall;
  1182. PFNGLVERTEXP4UIPROC = procedure(_type: Cardinal; value: Cardinal);stdcall;
  1183. PFNGLVERTEXP4UIVPROC = procedure(_type: Cardinal; const value: PGLuint);stdcall;
  1184. PFNGLTEXCOORDP1UIPROC = procedure(_type: Cardinal; coords: Cardinal);stdcall;
  1185. PFNGLTEXCOORDP1UIVPROC = procedure(_type: Cardinal; const coords: PGLuint);stdcall;
  1186. PFNGLTEXCOORDP2UIPROC = procedure(_type: Cardinal; coords: Cardinal);stdcall;
  1187. PFNGLTEXCOORDP2UIVPROC = procedure(_type: Cardinal; const coords: PGLuint);stdcall;
  1188. PFNGLTEXCOORDP3UIPROC = procedure(_type: Cardinal; coords: Cardinal);stdcall;
  1189. PFNGLTEXCOORDP3UIVPROC = procedure(_type: Cardinal; const coords: PGLuint);stdcall;
  1190. PFNGLTEXCOORDP4UIPROC = procedure(_type: Cardinal; coords: Cardinal);stdcall;
  1191. PFNGLTEXCOORDP4UIVPROC = procedure(_type: Cardinal; const coords: PGLuint);stdcall;
  1192. PFNGLMULTITEXCOORDP1UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal);stdcall;
  1193. PFNGLMULTITEXCOORDP1UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint);stdcall;
  1194. PFNGLMULTITEXCOORDP2UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal);stdcall;
  1195. PFNGLMULTITEXCOORDP2UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint);stdcall;
  1196. PFNGLMULTITEXCOORDP3UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal);stdcall;
  1197. PFNGLMULTITEXCOORDP3UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint);stdcall;
  1198. PFNGLMULTITEXCOORDP4UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal);stdcall;
  1199. PFNGLMULTITEXCOORDP4UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint);stdcall;
  1200. PFNGLNORMALP3UIPROC = procedure(_type: Cardinal; coords: Cardinal);stdcall;
  1201. PFNGLNORMALP3UIVPROC = procedure(_type: Cardinal; const coords: PGLuint);stdcall;
  1202. PFNGLCOLORP3UIPROC = procedure(_type: Cardinal; color: Cardinal);stdcall;
  1203. PFNGLCOLORP3UIVPROC = procedure(_type: Cardinal; const color: PGLuint);stdcall;
  1204. PFNGLCOLORP4UIPROC = procedure(_type: Cardinal; color: Cardinal);stdcall;
  1205. PFNGLCOLORP4UIVPROC = procedure(_type: Cardinal; const color: PGLuint);stdcall;
  1206. PFNGLSECONDARYCOLORP3UIPROC = procedure(_type: Cardinal; color: Cardinal);stdcall;
  1207. PFNGLSECONDARYCOLORP3UIVPROC = procedure(_type: Cardinal; const color: PGLuint);stdcall;
  1208. PFNGLVERTEXATTRIBP1UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal);stdcall;
  1209. PFNGLVERTEXATTRIBP1UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);stdcall;
  1210. PFNGLVERTEXATTRIBP2UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal);stdcall;
  1211. PFNGLVERTEXATTRIBP2UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);stdcall;
  1212. PFNGLVERTEXATTRIBP3UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal);stdcall;
  1213. PFNGLVERTEXATTRIBP3UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);stdcall;
  1214. PFNGLVERTEXATTRIBP4UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal);stdcall;
  1215. PFNGLVERTEXATTRIBP4UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint);stdcall;
  1216. // GL_ARB_draw_indirect (ARB #87)
  1217. PFNGLDRAWARRAYSINDIRECTPROC = procedure(mode: Cardinal; const indirect: PGLvoid);stdcall;
  1218. PFNGLDRAWELEMENTSINDIRECTPROC = procedure(mode: Cardinal; _type: Cardinal; const indirect: PGLvoid);stdcall;
  1219. // GL_ARB_gpu_shader_fp64 (ARB #89)
  1220. PFNGLUNIFORM1DPROC = procedure(location: TGLint; x: TGLdouble);stdcall;
  1221. PFNGLUNIFORM2DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble);stdcall;
  1222. PFNGLUNIFORM3DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);stdcall;
  1223. PFNGLUNIFORM4DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);stdcall;
  1224. PFNGLUNIFORM1DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1225. PFNGLUNIFORM2DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1226. PFNGLUNIFORM3DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1227. PFNGLUNIFORM4DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1228. PFNGLUNIFORMMATRIX2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1229. PFNGLUNIFORMMATRIX3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1230. PFNGLUNIFORMMATRIX4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1231. PFNGLUNIFORMMATRIX2X3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1232. PFNGLUNIFORMMATRIX2X4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1233. PFNGLUNIFORMMATRIX3X2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1234. PFNGLUNIFORMMATRIX3X4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1235. PFNGLUNIFORMMATRIX4X2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1236. PFNGLUNIFORMMATRIX4X3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1237. PFNGLGETUNIFORMDVPROC = procedure(_program: Cardinal; location: TGLint; params : PGLdouble);stdcall;
  1238. // GL_EXT_direct_state_access
  1239. PFNGLCLIENTATTRIBDEFAULTEXTPROC = procedure(mask: TGLbitfield); stdcall;
  1240. PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC = procedure(mask: TGLbitfield); stdcall;
  1241. PFNGLMATRIXLOADFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
  1242. PFNGLMATRIXLOADDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
  1243. PFNGLMATRIXMULTFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
  1244. PFNGLMATRIXMULTDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
  1245. PFNGLMATRIXLOADIDENTITYEXTPROC = procedure(mode: Cardinal); stdcall;
  1246. PFNGLMATRIXROTATEFEXTPROC = procedure(mode: Cardinal; angle: TGLfloat; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
  1247. PFNGLMATRIXROTATEDEXTPROC = procedure(mode: Cardinal; angle: TGLdouble; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
  1248. PFNGLMATRIXSCALEFEXTPROC = procedure(mode: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
  1249. PFNGLMATRIXSCALEDEXTPROC = procedure(mode: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
  1250. PFNGLMATRIXTRANSLATEFEXTPROC = procedure(mode: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
  1251. PFNGLMATRIXTRANSLATEDEXTPROC = procedure(mode: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
  1252. PFNGLMATRIXFRUSTUMEXTPROC = procedure(mode: Cardinal; left: TGLdouble; right: TGLdouble; bottom: TGLdouble; top: TGLdouble; zNear: TGLdouble; zFar: TGLdouble); stdcall;
  1253. PFNGLMATRIXORTHOEXTPROC = procedure(mode: Cardinal; left: TGLdouble; right: TGLdouble; bottom: TGLdouble; top: TGLdouble; zNear: TGLdouble; zFar: TGLdouble); stdcall;
  1254. PFNGLMATRIXPOPEXTPROC = procedure(mode: Cardinal); stdcall;
  1255. PFNGLMATRIXPUSHEXTPROC = procedure(mode: Cardinal); stdcall;
  1256. PFNGLMATRIXLOADTRANSPOSEFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
  1257. PFNGLMATRIXLOADTRANSPOSEDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
  1258. PFNGLMATRIXMULTTRANSPOSEFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
  1259. PFNGLMATRIXMULTTRANSPOSEDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
  1260. PFNGLTEXTUREPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
  1261. PFNGLTEXTUREPARAMETERIEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
  1262. PFNGLTEXTUREPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
  1263. PFNGLTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1264. PFNGLTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1265. PFNGLTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1266. PFNGLTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1267. PFNGLCOPYTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; border: TGLint); stdcall;
  1268. PFNGLCOPYTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint); stdcall;
  1269. PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei); stdcall;
  1270. PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
  1271. PFNGLGETTEXTUREIMAGEEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; format: Cardinal; type_: Cardinal; pixels: PGLvoid); stdcall;
  1272. PFNGLGETTEXTUREPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  1273. PFNGLGETTEXTUREPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1274. PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
  1275. PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: TGLint); stdcall;
  1276. PFNGLTEXTUREIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1277. PFNGLTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1278. PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
  1279. PFNGLMULTITEXPARAMETERFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
  1280. PFNGLMULTITEXPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
  1281. PFNGLMULTITEXPARAMETERIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
  1282. PFNGLMULTITEXPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
  1283. PFNGLMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1284. PFNGLMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1285. PFNGLMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1286. PFNGLMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1287. PFNGLCOPYMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; border: TGLint); stdcall;
  1288. PFNGLCOPYMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint); stdcall;
  1289. PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei); stdcall;
  1290. PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
  1291. PFNGLGETMULTITEXIMAGEEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; format: Cardinal; type_: Cardinal; pixels: PGLvoid); stdcall;
  1292. PFNGLGETMULTITEXPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  1293. PFNGLGETMULTITEXPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1294. PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
  1295. PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); stdcall;
  1296. PFNGLMULTITEXIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
  1297. PFNGLMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; type_: Cardinal; const pixels:PGLvoid); stdcall;
  1298. PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
  1299. PFNGLBINDMULTITEXTUREEXTPROC = procedure(texunit: Cardinal; target: Cardinal; texture: Cardinal); stdcall;
  1300. PFNGLENABLECLIENTSTATEINDEXEDEXTPROC = procedure(array_: Cardinal; index_: Cardinal); stdcall;
  1301. PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC = procedure(array_: Cardinal; index_: Cardinal); stdcall;
  1302. PFNGLMULTITEXCOORDPOINTEREXTPROC = procedure(texunit: Cardinal; size: TGLint; type_: Cardinal; stride: TGLsizei; const pointer: PGLvoid); stdcall;
  1303. PFNGLMULTITEXENVFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
  1304. PFNGLMULTITEXENVFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
  1305. PFNGLMULTITEXENVIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
  1306. PFNGLMULTITEXENVIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
  1307. PFNGLMULTITEXGENDEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLdouble); stdcall;
  1308. PFNGLMULTITEXGENDVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLdouble); stdcall;
  1309. PFNGLMULTITEXGENFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
  1310. PFNGLMULTITEXGENFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
  1311. PFNGLMULTITEXGENIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
  1312. PFNGLMULTITEXGENIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
  1313. PFNGLGETMULTITEXENVFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  1314. PFNGLGETMULTITEXENVIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1315. PFNGLGETMULTITEXGENDVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
  1316. PFNGLGETMULTITEXGENFVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  1317. PFNGLGETMULTITEXGENIVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1318. PFNGLGETFLOATINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLfloat); stdcall;
  1319. PFNGLGETDOUBLEINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLdouble); stdcall;
  1320. PFNGLGETPOINTERINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLvoid); stdcall;
  1321. PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1322. PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1323. PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1324. PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1325. PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1326. PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1327. PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC = procedure(texture: Cardinal; target: Cardinal; lod: TGLint; img: PGLvoid); stdcall;
  1328. PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1329. PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1330. PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1331. PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1332. PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1333. PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
  1334. PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC = procedure(texunit: Cardinal; target: Cardinal; lod: TGLint; img: PGLvoid); stdcall;
  1335. PFNGLNAMEDPROGRAMSTRINGEXTPROC = procedure(program_: Cardinal; target: Cardinal; format: Cardinal; len: TGLsizei; const string_: PGLvoid); stdcall;
  1336. PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
  1337. PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLdouble); stdcall;
  1338. PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
  1339. PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLfloat); stdcall;
  1340. PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLdouble); stdcall;
  1341. PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLfloat); stdcall;
  1342. PFNGLGETNAMEDPROGRAMIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1343. PFNGLGETNAMEDPROGRAMSTRINGEXTPROC = procedure(program_: Cardinal; target: Cardinal; pname: Cardinal; string_: PGLvoid); stdcall;
  1344. PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLfloat); stdcall;
  1345. PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
  1346. PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLint); stdcall;
  1347. PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLint); stdcall;
  1348. PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
  1349. PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLuint); stdcall;
  1350. PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLuint); stdcall;
  1351. PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLint); stdcall;
  1352. PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLuint); stdcall;
  1353. PFNGLTEXTUREPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
  1354. PFNGLTEXTUREPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
  1355. PFNGLGETTEXTUREPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1356. PFNGLGETTEXTUREPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
  1357. PFNGLMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
  1358. PFNGLMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
  1359. PFNGLGETMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1360. PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
  1361. PFNGLNAMEDBUFFERDATAEXTPROC = procedure(buffer: Cardinal; size: TGLsizei; const data: PGLvoid; usage: Cardinal); stdcall;
  1362. PFNGLNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; const data: PGLvoid); stdcall;
  1363. PFNGLMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal; access: Cardinal): PGLvoid; stdcall;
  1364. PFNGLUNMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal): TGLboolean; stdcall;
  1365. PFNGLMAPNAMEDBUFFERRANGEEXTPROC = function(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr; access: TGLbitfield): PGLvoid; stdcall;
  1366. PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr); stdcall;
  1367. PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = procedure(readBuffer: Cardinal; writeBuffer: Cardinal; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr); stdcall;
  1368. PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1369. PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLvoid); stdcall;
  1370. PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; data: PGLvoid); stdcall;
  1371. PFNGLTEXTUREBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
  1372. PFNGLMULTITEXBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; interformat: Cardinal; buffer: Cardinal); stdcall;
  1373. PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = procedure(renderbuffer: Cardinal; interformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
  1374. PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC = procedure(renderbuffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1375. PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC = function(framebuffer: Cardinal; target: Cardinal): Cardinal; stdcall;
  1376. PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1377. PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1378. PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; zoffset: TGLint); stdcall;
  1379. PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
  1380. PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1381. PFNGLGENERATETEXTUREMIPMAPEXTPROC = procedure(texture: Cardinal; target: Cardinal); stdcall;
  1382. PFNGLGENERATEMULTITEXMIPMAPEXTPROC = procedure(texunit: Cardinal; target: Cardinal); stdcall;
  1383. PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC = procedure(framebuffer: Cardinal; mode: Cardinal); stdcall;
  1384. PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC = procedure(framebuffer: Cardinal; n: TGLsizei; const bufs: PCardinal); stdcall;
  1385. PFNGLFRAMEBUFFERREADBUFFEREXTPROC = procedure(framebuffer: Cardinal; mode: Cardinal); stdcall;
  1386. PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC = procedure(framebuffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1387. PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = procedure(renderbuffer: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
  1388. PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC = procedure(renderbuffer: Cardinal; coverageSamples: TGLsizei; colorSamples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
  1389. PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1390. PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
  1391. PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; face: Cardinal); stdcall;
  1392. PFNGLTEXTURERENDERBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; renderbuffer: Cardinal); stdcall;
  1393. PFNGLMULTITEXRENDERBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; renderbuffer: Cardinal); stdcall;
  1394. PFNGLPROGRAMUNIFORM1DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble);stdcall;
  1395. PFNGLPROGRAMUNIFORM2DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble);stdcall;
  1396. PFNGLPROGRAMUNIFORM3DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble);stdcall;
  1397. PFNGLPROGRAMUNIFORM4DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);stdcall;
  1398. PFNGLPROGRAMUNIFORM1DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1399. PFNGLPROGRAMUNIFORM2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1400. PFNGLPROGRAMUNIFORM3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1401. PFNGLPROGRAMUNIFORM4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble);stdcall;
  1402. PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1403. PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1404. PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1405. PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1406. PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1407. PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1408. PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1409. PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1410. PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble);stdcall;
  1411. // GL_ARB_shader_subroutine (ARB #90)
  1412. PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC = function(_program: Cardinal; shadertype: Cardinal; const name: PAnsiChar): TGLint;stdcall;
  1413. PFNGLGETSUBROUTINEINDEXPROC = function(_program: Cardinal; shadertype: Cardinal; const name: PAnsiChar): Cardinal;stdcall;
  1414. PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; pname: Cardinal; values: PGLint);stdcall;
  1415. PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; bufsize: TGLsizei; length: PGLsizei; name: PAnsiChar);stdcall;
  1416. PFNGLGETACTIVESUBROUTINENAMEPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; bufsize: TGLsizei; length: PGLsizei; name: PAnsiChar);stdcall;
  1417. PFNGLUNIFORMSUBROUTINESUIVPROC = procedure(shadertype: Cardinal; count: TGLsizei; const indices: PGLuint);stdcall;
  1418. PFNGLGETUNIFORMSUBROUTINEUIVPROC = procedure(shadertype: Cardinal; location: TGLint; params: PGLuint);stdcall;
  1419. PFNGLGETPROGRAMSTAGEIVPROC = procedure(_program: Cardinal; shadertype: Cardinal; pname: Cardinal; values: PGLint);stdcall;
  1420. // GL_ARB_tessellation_shader (ARB #91)
  1421. PFNGLPATCHPARAMETERIPROC = procedure(pname: Cardinal; value: TGLint);stdcall;
  1422. PFNGLPATCHPARAMETERFVPROC = procedure(pname: Cardinal; const values: PGLfloat);stdcall;
  1423. // GL_ARB_transform_feedback2 (ARB #93)
  1424. PFNGLBINDTRANSFORMFEEDBACKPROC = procedure(target: Cardinal; id: Cardinal);stdcall;
  1425. PFNGLDELETETRANSFORMFEEDBACKSPROC = procedure(n: TGLsizei; const ids: PGLuint);stdcall;
  1426. PFNGLGENTRANSFORMFEEDBACKSPROC = procedure(n: TGLsizei; ids: PGLuint);stdcall;
  1427. PFNGLISTRANSFORMFEEDBACKPROC = function(id: Cardinal): TGLboolean;stdcall;
  1428. PFNGLPAUSETRANSFORMFEEDBACKPROC = procedure();stdcall;
  1429. PFNGLRESUMETRANSFORMFEEDBACKPROC = procedure();stdcall;
  1430. PFNGLDRAWTRANSFORMFEEDBACKPROC = procedure(mode: Cardinal; id: Cardinal);stdcall;
  1431. // GL_ARB_transform_feedback3 (ARB #94)
  1432. PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC = procedure(mode: Cardinal; id: Cardinal; stream: Cardinal);stdcall;
  1433. PFNGLBEGINQUERYINDEXEDPROC = procedure(target: Cardinal; index: Cardinal; id: Cardinal);stdcall;
  1434. PFNGLENDQUERYINDEXEDPROC = procedure(target: Cardinal; index: Cardinal);stdcall;
  1435. PFNGLGETQUERYINDEXEDIVPROC = procedure(target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1436. // GL_ARB_ES2_compatibility (ARB #95)
  1437. PFNGLRELEASESHADERCOMPILERPROC = procedure();stdcall;
  1438. PFNGLSHADERBINARYPROC = procedure(count: TGLsizei; shaders: PGLuint; binaryformat: Cardinal; binary: Pointer; length: TGLsizei);stdcall;
  1439. PFNGLGETSHADERPRECISIONFORMATPROC = procedure(shadertype: Cardinal; precisiontype: Cardinal; range: PGLint; precision: PGLint);stdcall;
  1440. PFNGLDEPTHRANGEFPROC = procedure(n: Single; f: Single);stdcall;
  1441. PFNGLCLEARDEPTHFPROC = procedure(depth: TGLclampd);stdcall;
  1442. // GL_ARB_get_program_binary (ARB #96)
  1443. PFNGLGETPROGRAMBINARYPROC = procedure(_program: Cardinal; bufSize: TGLsizei; length: PGLsizei; binaryFormat: PCardinal; binary: Pointer);stdcall;
  1444. PFNGLPROGRAMBINARYPROC = procedure(_program: Cardinal; binaryFormat: Cardinal; binary: Pointer; length: TGLsizei);stdcall;
  1445. PFNGLPROGRAMPARAMETERIPROC = procedure(_program: Cardinal; pname: Cardinal; value: TGLint);stdcall;
  1446. // GL_ARB_separate_shader_objects (ARB #97)
  1447. PFNGLUSEPROGRAMSTAGESPROC = procedure(pipeline: Cardinal; stages: TGLbitfield; _program: Cardinal);stdcall;
  1448. PFNGLACTIVESHADERPROGRAMPROC = procedure(pipeline: Cardinal; _program: Cardinal);stdcall;
  1449. PFNGLCREATESHADERPROGRAMVPROC = function(_type: Cardinal; count: TGLsizei; const strings: PGLPCharArray): Cardinal;stdcall;
  1450. PFNGLBINDPROGRAMPIPELINEPROC = procedure(pipeline: Cardinal);stdcall;
  1451. PFNGLDELETEPROGRAMPIPELINESPROC = procedure(n: TGLsizei; pipelines: PGLuint);stdcall;
  1452. PFNGLGENPROGRAMPIPELINESPROC = procedure(n: TGLsizei; pipelines: PGLuint);stdcall;
  1453. PFNGLISPROGRAMPIPELINEPROC = function(pipeline: Cardinal): TGLboolean;stdcall;
  1454. PFNGLGETPROGRAMPIPELINEIVPROC = procedure(pipeline: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1455. PFNGLPROGRAMUNIFORM1IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint);stdcall;
  1456. PFNGLPROGRAMUNIFORM1IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint);stdcall;
  1457. PFNGLPROGRAMUNIFORM1FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat);stdcall;
  1458. PFNGLPROGRAMUNIFORM1FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat);stdcall;
  1459. PFNGLPROGRAMUNIFORM1DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble);stdcall;
  1460. PFNGLPROGRAMUNIFORM1DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble);stdcall;
  1461. PFNGLPROGRAMUNIFORM1UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal);stdcall;
  1462. PFNGLPROGRAMUNIFORM1UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint);stdcall;
  1463. PFNGLPROGRAMUNIFORM2IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint);stdcall;
  1464. PFNGLPROGRAMUNIFORM2IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint);stdcall;
  1465. PFNGLPROGRAMUNIFORM2FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat);stdcall;
  1466. PFNGLPROGRAMUNIFORM2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat);stdcall;
  1467. PFNGLPROGRAMUNIFORM2DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble);stdcall;
  1468. PFNGLPROGRAMUNIFORM2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble);stdcall;
  1469. PFNGLPROGRAMUNIFORM2UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal);stdcall;
  1470. PFNGLPROGRAMUNIFORM2UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint);stdcall;
  1471. PFNGLPROGRAMUNIFORM3IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint);stdcall;
  1472. PFNGLPROGRAMUNIFORM3IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint);stdcall;
  1473. PFNGLPROGRAMUNIFORM3FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat);stdcall;
  1474. PFNGLPROGRAMUNIFORM3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat);stdcall;
  1475. PFNGLPROGRAMUNIFORM3DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble; v2: TGLdouble);stdcall;
  1476. PFNGLPROGRAMUNIFORM3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble);stdcall;
  1477. PFNGLPROGRAMUNIFORM3UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal; v2: Cardinal);stdcall;
  1478. PFNGLPROGRAMUNIFORM3UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint);stdcall;
  1479. PFNGLPROGRAMUNIFORM4IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint);stdcall;
  1480. PFNGLPROGRAMUNIFORM4IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint);stdcall;
  1481. PFNGLPROGRAMUNIFORM4FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat);stdcall;
  1482. PFNGLPROGRAMUNIFORM4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat);stdcall;
  1483. PFNGLPROGRAMUNIFORM4DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble; v2: TGLdouble; v3: TGLdouble);stdcall;
  1484. PFNGLPROGRAMUNIFORM4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble);stdcall;
  1485. PFNGLPROGRAMUNIFORM4UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal);stdcall;
  1486. PFNGLPROGRAMUNIFORM4UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint);stdcall;
  1487. PFNGLPROGRAMUNIFORMMATRIX2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1488. PFNGLPROGRAMUNIFORMMATRIX3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1489. PFNGLPROGRAMUNIFORMMATRIX4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1490. PFNGLPROGRAMUNIFORMMATRIX2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1491. PFNGLPROGRAMUNIFORMMATRIX3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1492. PFNGLPROGRAMUNIFORMMATRIX4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1493. PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1494. PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1495. PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1496. PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1497. PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1498. PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat);stdcall;
  1499. PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1500. PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1501. PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1502. PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1503. PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1504. PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble);stdcall;
  1505. PFNGLVALIDATEPROGRAMPIPELINEPROC = procedure(pipeline: Cardinal);stdcall;
  1506. PFNGLGETPROGRAMPIPELINEINFOLOGPROC = procedure(pipeline: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar);stdcall;
  1507. // GL_ARB_shader_precision (ARB #98)
  1508. // (no entry points)
  1509. // GL_ARB_vertex_attrib_64bit (ARB #99)
  1510. PFNGLVERTEXATTRIBL1DPROC = procedure(index: Cardinal; x: TGLdouble);stdcall;
  1511. PFNGLVERTEXATTRIBL2DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble);stdcall;
  1512. PFNGLVERTEXATTRIBL3DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble);stdcall;
  1513. PFNGLVERTEXATTRIBL4DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble);stdcall;
  1514. PFNGLVERTEXATTRIBL1DVPROC = procedure(index: Cardinal; {const} v: PGLdouble);stdcall;
  1515. PFNGLVERTEXATTRIBL2DVPROC = procedure(index: Cardinal; {const} v: PGLdouble);stdcall;
  1516. PFNGLVERTEXATTRIBL3DVPROC = procedure(index: Cardinal; {const} v: PGLdouble);stdcall;
  1517. PFNGLVERTEXATTRIBL4DVPROC = procedure(index: Cardinal; {const} v :PGLdouble);stdcall;
  1518. PFNGLVERTEXATTRIBLPOINTERPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; {const} ptr: Pointer);stdcall;
  1519. PFNGLGETVERTEXATTRIBLDVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLdouble);stdcall;
  1520. // VertexArrayVertexAttribLOffsetEXT only valid if EXT_direct_state_access is available
  1521. PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC = procedure (vaobj: Cardinal; buffer: Cardinal;
  1522. index: Cardinal; size: TGLint;
  1523. _type: Cardinal; stride: TGLsizei;
  1524. offset: TGLintptr);stdcall;
  1525. // GL_ARB_viewport_array (ARB #100)
  1526. PFNGLVIEWPORTARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; {const} v: PGLfloat);stdcall;
  1527. PFNGLVIEWPORTINDEXEDFPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; w: TGLfloat; h: TGLfloat);stdcall;
  1528. PFNGLVIEWPORTINDEXEDFVPROC = procedure(index: Cardinal; {const} v: PGLfloat);stdcall;
  1529. PFNGLSCISSORARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; {const} v: PGLint);stdcall;
  1530. PFNGLSCISSORINDEXEDPROC = procedure(index: Cardinal; left: TGLint; bottom: TGLint; width: TGLsizei; height: TGLsizei);stdcall;
  1531. PFNGLSCISSORINDEXEDVPROC = procedure(index: Cardinal; {const} v: PGLint);stdcall;
  1532. PFNGLDEPTHRANGEARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; {const} v: PGLclampd);stdcall;
  1533. PFNGLDEPTHRANGEINDEXEDPROC = procedure(index: Cardinal; n: TGLclampd; f: TGLclampd);stdcall;
  1534. PFNGLGETFLOATI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLfloat);stdcall;
  1535. PFNGLGETDOUBLEI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLdouble);stdcall;
  1536. // GL_ARB_debug_output (ARB #104)
  1537. PFNGLDEBUGMESSAGECONTROLARBPROC = procedure(source: Cardinal; _type: Cardinal; severity: Cardinal; count: TGLsizei; {const} ids: PGLuint; enabled: TGLboolean);stdcall;
  1538. PFNGLDEBUGMESSAGEINSERTARBPROC = procedure(source: Cardinal; _type: Cardinal; id: Cardinal; severity: Cardinal; length: TGLsizei; {const} buf: PAnsiChar);stdcall;
  1539. PFNGLDEBUGMESSAGECALLBACKARBPROC = procedure(callback: TGLDEBUGPROCARB; {const} userParam: Pointer);stdcall;
  1540. PFNGLGETDEBUGMESSAGELOGARBPROC = function(count: Cardinal; bufsize: TGLsizei; sources: PCardinal; types: PCardinal; ids: PGLuint; severities: PCardinal; lengths: PGLsizei; messageLog: PAnsiChar): Cardinal;stdcall;
  1541. // GL_ARB_robustness (ARB #105)
  1542. PFNGLGETGRAPHICSRESETSTATUSARBPROC = function(): Cardinal;stdcall;
  1543. PFNGLGETNMAPDVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLdouble);stdcall;
  1544. PFNGLGETNMAPFVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLfloat);stdcall;
  1545. PFNGLGETNMAPIVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLint);stdcall;
  1546. PFNGLGETNPIXELMAPFVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLfloat);stdcall;
  1547. PFNGLGETNPIXELMAPUIVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLuint);stdcall;
  1548. PFNGLGETNPIXELMAPUSVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLushort);stdcall;
  1549. PFNGLGETNPOLYGONSTIPPLEARBPROC = procedure(bufSize: TGLsizei; pattern: PGLubyte);stdcall;
  1550. PFNGLGETNCOLORTABLEARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; table: Pointer);stdcall;
  1551. PFNGLGETNCONVOLUTIONFILTERARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; image: Pointer);stdcall;
  1552. PFNGLGETNSEPARABLEFILTERARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; rowBufSize: TGLsizei; row: Pointer; columnBufSize: TGLsizei; column: Pointer; span: Pointer);stdcall;
  1553. PFNGLGETNHISTOGRAMARBPROC = procedure(target: Cardinal; reset: TGLboolean; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; values: Pointer);stdcall;
  1554. PFNGLGETNMINMAXARBPROC = procedure(target: Cardinal; reset: TGLboolean; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; values: Pointer);stdcall;
  1555. PFNGLGETNTEXIMAGEARBPROC = procedure(target: Cardinal; level: TGLint; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; img: Pointer);stdcall;
  1556. PFNGLREADNPIXELSARBPROC = procedure(x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; data: Pointer);stdcall;
  1557. PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC = procedure(target: Cardinal; lod: TGLint; bufSize: TGLsizei; img: Pointer);stdcall;
  1558. PFNGLGETNUNIFORMFVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLfloat);stdcall;
  1559. PFNGLGETNUNIFORMIVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLint);stdcall;
  1560. PFNGLGETNUNIFORMUIVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLuint);stdcall;
  1561. PFNGLGETNUNIFORMDVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLdouble);stdcall;
  1562. // GL_ARB_shader_stencil_export (ARB #106)
  1563. // (no entry points)
  1564. // GL_KHR_debug (ARB #119)
  1565. PFNGLPushDebugGroup = procedure(source : Cardinal; id : Cardinal; length : TGLsizei; const message_ : PAnsiChar); stdcall;
  1566. PFNGLPopDebugGroup = procedure; stdcall;
  1567. PFNGLObjectLabel = procedure(identifier : Cardinal; name : Cardinal; length : TGLsizei; const label_ : PAnsiChar); stdcall;
  1568. PFNGLGetObjectLabel = procedure(identifier : Cardinal; name : Cardinal; bufsize : TGLsizei; length : PGLsizei; label_ : PAnsiChar); stdcall;
  1569. PFNGLObjectPtrLabel = procedure(const ptr : Pointer; length : TGLsizei; const label_ : PAnsiChar); stdcall;
  1570. PFNGLGetObjectPtrLabel = procedure(const ptr : Pointer; bufSize : TGLsizei; length : PGLsizei; label_ : PAnsiChar); stdcall;
  1571. // GL_ARB_clear_buffer_object (ARB #121)
  1572. PFNGLClearBufferData = procedure(target : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
  1573. PFNGLClearBufferSubData = procedure(target : Cardinal; internalformat : Cardinal; offset : TGLintptr; size : TGLsizeiptr; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
  1574. PFNGLClearNamedBufferData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
  1575. PFNGLClearNamedBufferSubData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; offset : TGLsizeiptr; size : TGLsizeiptr; const data : Pointer); stdcall;
  1576. // GL_ARB_compute_shader (ARB #122)
  1577. PFNGLDispatchCompute = procedure(num_groups_x : Cardinal; num_groups_y : Cardinal; num_groups_z : Cardinal); stdcall;
  1578. PFNGLDispatchComputeIndirect = procedure(indirect : TGLintptr); stdcall;
  1579. // GL_ARB_copy_image (ARB #123)
  1580. PFNGLCopyImageSubData = procedure(srcName : Cardinal; srcTarget : Cardinal; srcLevel : TGLint; srcX : TGLint; srcY : TGLint; srcZ : TGLint; dstName : Cardinal; dstTarget : Cardinal; dstLevel : TGLint; dstX : TGLint; dstY : TGLint; dstZ : TGLint; srcWidth : TGLsizei; srcHeight : TGLsizei; srcDepth : TGLsizei); stdcall;
  1581. // GL_ARB_debug_group
  1582. // ARB_debug_group reuses entry points from KHR_debug
  1583. // GL_ARB_debug_label
  1584. // ARB_debug_label reuses entry points from KHR_debug
  1585. // GL_ARB_debug_output2
  1586. // GL_ARB_ES3_compatibility
  1587. // GL_ARB_explicit_uniform_location
  1588. // GL_ARB_fragment_layer_viewport
  1589. // GL_ARB_framebuffer_no_attachments (ARB #130)
  1590. PFNGLFramebufferParameteri = procedure(target : Cardinal; pname : Cardinal; param : TGLint); stdcall;
  1591. PFNGLGetFramebufferParameteriv = procedure(target : Cardinal; pname : Cardinal; params : PGLint); stdcall;
  1592. PFNGLNamedFramebufferParameteri = procedure(framebuffer : Cardinal; pname : Cardinal; param : TGLint); stdcall;
  1593. PFNGLGetNamedFramebufferParameteriv = procedure(framebuffer : Cardinal; pname : Cardinal; param : TGLint); stdcall;
  1594. // GL_ARB_internalformat_query2 (ARB #131)
  1595. PFNGLGetInternalformati64v = procedure(target : Cardinal; internalformat : Cardinal; pname : Cardinal; bufSize : TGLsizei; params : PGLint64); stdcall;
  1596. // GL_ARB_invalidate_subdata (ARB #132)
  1597. PFNGLInvalidateTexSubImage = procedure(texture : Cardinal; level : TGLint; xoffset : TGLint; yoffset : TGLint; zoffset : TGLint; width : TGLsizei; height : TGLsizei; depth : TGLsizei); stdcall;
  1598. PFNGLInvalidateTexImage = procedure(texture : Cardinal; level : TGLint); stdcall;
  1599. PFNGLInvalidateBufferSubData = procedure(buffer : Cardinal; offset : TGLintptr; length : TGLsizeiptr); stdcall;
  1600. PFNGLInvalidateBufferData = procedure(buffer : Cardinal); stdcall;
  1601. PFNGLInvalidateFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal); stdcall;
  1602. PFNGLInvalidateSubFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal; x : TGLint; y : TGLint; width : TGLsizei; height : TGLsizei); stdcall;
  1603. // GL_ARB_multi_draw_indirect (ARB #133)
  1604. PFNGLMultiDrawArraysIndirect = procedure(mode : Cardinal; const indirect : Pointer; drawcount : TGLsizei; stride : TGLsizei); stdcall;
  1605. PFNGLMultiDrawElementsIndirect = procedure(mode : Cardinal; type_ : Cardinal; const indirect : Pointer; drawcount : TGLsizei; stride : TGLsizei); stdcall;
  1606. // GL_ARB_program_interface_query (ARB #134)
  1607. PFNGLGetProgramInterfaceiv = procedure(program_ : Cardinal;programInterface : Cardinal; pname : Cardinal; params : PGLint); stdcall;
  1608. PFNGLGetProgramResourceIndex = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : Cardinal; stdcall;
  1609. PFNGLGetProgramResourceName = procedure(program_ : Cardinal;programInterface : Cardinal; index : Cardinal; bufSize : TGLsizei; length : PGLsizei; name : PAnsiChar); stdcall;
  1610. PFNGLGetProgramResourceiv = procedure(program_ : Cardinal;programInterface : Cardinal; index : Cardinal; propCount : TGLsizei; const props : PCardinal; bufSize : TGLsizei; length : PGLsizei; params : PGLint); stdcall;
  1611. PFNGLGetProgramResourceLocation = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : TGLint; stdcall;
  1612. PFNGLGetProgramResourceLocationIndex = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : TGLint; stdcall;
  1613. // GL_ARB_robust_buffer_access_behavior (ARB #135)
  1614. // (no entry points)
  1615. // GL_ARB_shader_image_size (ARB #136)
  1616. // (no entry points)
  1617. // GL_ARB_shader_storage_buffer_object (ARB #137)
  1618. PFNGLShaderStorageBlockBinding = procedure(program_ : Cardinal; storageBlockIndex : Cardinal; storageBlockBinding : Cardinal); stdcall;
  1619. // GL_ARB_stencil_texturing (ARB #138)
  1620. // (no entry points)
  1621. // GL_ARB_texture_buffer_range (ARB #139)
  1622. PFNGLTexBufferRange = procedure(target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset: TGLintptr; size : TGLsizeiptr); stdcall;
  1623. PFNGLTextureBufferRange = procedure(texture : Cardinal; target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset : TGLintptr; size : TGLsizeiptr); stdcall;
  1624. // GL_ARB_texture_query_levels (ARB #140)
  1625. // (no entry points)
  1626. // GL_ARB_texture_storage_multisample (ARB #141)
  1627. PFNGLTexStorage2DMultisample = procedure(target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
  1628. PFNGLTexStorage3DMultisample = procedure(target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
  1629. PFNGLTextureStorage2DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
  1630. PFNGLTextureStorage3DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
  1631. PFNGLBufferStorage = procedure(target : Cardinal; size : TGLsizeiptr; const data : pointer; flags : TGLbitfield); stdcall;
  1632. PFNGLClearTexImage = procedure(texture : Cardinal; level : TGLint; format : Cardinal; _type : Cardinal; const data : Pointer); stdcall;
  1633. PFNGLClearTexSubImage = procedure(texture : Cardinal; level : TGLint; xoffset : TGLint; yoffset : TGLint; zoffset : TGLint; width : TGLsizei; height : TGLsizei; depth : TGLsizei; format : Cardinal; _type : Cardinal; const Data : Pointer); stdcall;
  1634. PFNGLBindBuffersBase = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLUint); stdcall;
  1635. PFNGLBindBuffersRange = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLuint; const offsets : TGLintptr; const sizes : TGLsizeiptr); stdcall;
  1636. PFNGLBindTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); stdcall;
  1637. PFNGLBindSamplers = procedure(first : Cardinal; count : TGLsizei; const samplers : PGLuint); stdcall;
  1638. PFNGLBindImageTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); stdcall;
  1639. PFNGLBindVertexBuffers = procedure(first : Cardinal; count : TGLsizei; const buffers : Cardinal; const offsets : TGLintptr; const strides : PGLsizei); stdcall;
  1640. // GL_ARB_texture_view (ARB #124)
  1641. PFNGLTextureView = procedure(texture : Cardinal; target : Cardinal; origtexture : Cardinal; internalformat : Cardinal; minlevel : Cardinal; numlevels : Cardinal; minlayer : Cardinal; numlayers : Cardinal); stdcall;
  1642. // GL_ARB_vertex_attrib_binding (ARB #125)
  1643. PFNGLBindVertexBuffer = procedure(bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); stdcall;
  1644. PFNGLVertexAttribFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); stdcall;
  1645. PFNGLVertexAttribIFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
  1646. PFNGLVertexAttribLFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
  1647. PFNGLVertexAttribBinding = procedure(attribindex : Cardinal; bindingindex : Cardinal); stdcall;
  1648. PFNGLVertexBindingDivisor = procedure(bindingindex : Cardinal; divisor : Cardinal); stdcall;
  1649. PFNGLVertexArrayBindVertexBuffer = procedure(vaobj : Cardinal; bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); stdcall;
  1650. PFNGLVertexArrayVertexAttribFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); stdcall;
  1651. PFNGLVertexArrayVertexAttribIFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
  1652. PFNGLVertexArrayVertexAttribLFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
  1653. PFNGLVertexArrayVertexAttribBinding = procedure(vaobj : Cardinal; attribindex : Cardinal; bindingindex : Cardinal); stdcall;
  1654. PFNGLVertexArrayVertexBindingDivisor = procedure(vaobj : Cardinal; bindingindex : Cardinal; divisor : Cardinal); stdcall;
  1655. // GL_ARB_robustness_isolation (ARB #126)
  1656. // (no entry points)
  1657. // GL_ARB_cl_event (ARB #103)
  1658. PFNGLCreateSyncFromCLevent = function(context: p_cl_context; event: p_cl_event; flags: TGLbitfield): TGLsync; stdcall;
  1659. // EXT/Vendor extensions
  1660. // Unknown Vendor/EXT functions
  1661. PFNGLARRAYELEMENTARRAYEXTPROC = procedure(mode: Cardinal; count: TGLsizei; pi: Pointer); stdcall;
  1662. // GL_WIN_swap_hint (extension # not found)
  1663. PFNGLADDSWAPHINTRECTWINPROC = procedure(x, y: TGLint; width, height: TGLsizei); stdcall;
  1664. // GL_EXT_blend_color (EXT #2)
  1665. PFNGLBLENDCOLOREXTPROC = procedure(red, green, blue: Single; alpha: Single); stdcall;
  1666. // GL_EXT_polygon_offset (EXT #3)
  1667. PFNGLPOLYGONOFFSETEXTPROC = procedure(factor, bias: TGLfloat); stdcall;
  1668. // GL_EXT_texture3D (EXT #6)
  1669. PFNGLTEXIMAGE3DEXTPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei; border: TGLint; Format, AType: Cardinal; pixels: Pointer); stdcall;
  1670. // GL_EXT_subtexture (EXT #9)
  1671. PFNGLTEXSUBIMAGE1DEXTPROC = procedure(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
  1672. PFNGLTEXSUBIMAGE2DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
  1673. PFNGLTEXSUBIMAGE3DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
  1674. // GL_EXT_copy_texture (EXT #10)
  1675. PFNGLCOPYTEXIMAGE1DEXTPROC = procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); stdcall;
  1676. PFNGLCOPYTEXIMAGE2DEXTPROC = procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); stdcall;
  1677. PFNGLCOPYTEXSUBIMAGE1DEXTPROC = procedure(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); stdcall;
  1678. PFNGLCOPYTEXSUBIMAGE2DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
  1679. PFNGLCOPYTEXSUBIMAGE3DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
  1680. // GL_EXT_texture_object (EXT #20)
  1681. PFNGLGENTEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint); stdcall;
  1682. PFNGLDELETETEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint); stdcall;
  1683. PFNGLBINDTEXTUREEXTPROC = procedure(target: Cardinal; texture: Cardinal); stdcall;
  1684. PFNGLPRIORITIZETEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint; priorities: PSingle); stdcall;
  1685. PFNGLARETEXTURESRESIDENTEXTPROC = function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; stdcall;
  1686. PFNGLISTEXTUREEXTPROC = function(texture: Cardinal): TGLboolean; stdcall;
  1687. // GL_SGIS_multisample (EXT #25)
  1688. PFNGLSAMPLEMASKSGISPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
  1689. PFNGLSAMPLEPATTERNSGISPROC = procedure(pattern: Cardinal); stdcall;
  1690. // GL_EXT_blend_minmax (EXT #37)
  1691. PFNGLBLENDEQUATIONEXTPROC = procedure(mode: Cardinal); stdcall;
  1692. // GL_EXT_paletted_texture (EXT #78)
  1693. PFNGLCOLORTABLEEXTPROC = procedure(target, internalFormat: Cardinal; width: TGLsizei; format, atype: Cardinal; data: Pointer); stdcall;
  1694. PFNGLCOLORSUBTABLEEXTPROC = procedure(target: Cardinal; start, count: TGLsizei; format, atype: Cardinal; data: Pointer); stdcall;
  1695. PFNGLGETCOLORTABLEEXTPROC = procedure(target, format, atype: Cardinal; data: Pointer); stdcall;
  1696. PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
  1697. PFNGLGETCOLORTABLEPARAMETERIVEXTPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
  1698. // glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall;
  1699. // glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall;
  1700. // GL_EXT_index_material (EXT #94)
  1701. PFNGLINDEXMATERIALEXTPROC = procedure(face: Cardinal; mode: Cardinal); stdcall;
  1702. // GL_EXT_index_func (EXT #95)
  1703. PFNGLINDEXFUNCEXTPROC = procedure(func: Cardinal; ref: TGLfloat); stdcall;
  1704. // GL_EXT_compiled_vertex_array (EXT #97)
  1705. PFNGLLOCKARRAYSEXTPROC = procedure(first: TGLint; count: TGLsizei); stdcall;
  1706. PFNGLUNLOCKARRAYSEXTPROC = procedure; stdcall;
  1707. // GL_EXT_draw_range_elements (EXT #112)
  1708. PFNGLDRAWRANGEELEMENTSEXTPROC = procedure(mode: Cardinal; start, Aend: Cardinal; Count: TGLsizei; Atype: Cardinal; indices: Pointer); stdcall;
  1709. // GL_EXT_scene_marker (EXT #120)
  1710. PFNGLBEGINSCENEEXTPROC = procedure; stdcall;
  1711. PFNGLENDSCENEEXTPROC = procedure; stdcall;
  1712. // GL_EXT_secondary_color (EXT #145)
  1713. PFNGLSECONDARYCOLOR3BEXTPROC = procedure(red, green, blue: TGLbyte); stdcall;
  1714. PFNGLSECONDARYCOLOR3BVEXTPROC = procedure(v: PGLbyte); stdcall;
  1715. PFNGLSECONDARYCOLOR3DEXTPROC = procedure(red, green, blue: TGLdouble); stdcall;
  1716. PFNGLSECONDARYCOLOR3DVEXTPROC = procedure(v: PGLdouble); stdcall;
  1717. PFNGLSECONDARYCOLOR3FEXTPROC = procedure(red, green, blue: TGLfloat); stdcall;
  1718. PFNGLSECONDARYCOLOR3FVEXTPROC = procedure(v: PGLfloat); stdcall;
  1719. PFNGLSECONDARYCOLOR3IEXTPROC = procedure(red, green, blue: TGLint); stdcall;
  1720. PFNGLSECONDARYCOLOR3IVEXTPROC = procedure(v: PGLint); stdcall;
  1721. PFNGLSECONDARYCOLOR3SEXTPROC = procedure(red, green, blue: TGLshort); stdcall;
  1722. PFNGLSECONDARYCOLOR3SVEXTPROC = procedure(v: PGLshort); stdcall;
  1723. PFNGLSECONDARYCOLOR3UBEXTPROC = procedure(red, green, blue: TGLubyte); stdcall;
  1724. PFNGLSECONDARYCOLOR3UBVEXTPROC = procedure(v: PGLubyte); stdcall;
  1725. PFNGLSECONDARYCOLOR3UIEXTPROC = procedure(red, green, blue: Cardinal); stdcall;
  1726. PFNGLSECONDARYCOLOR3UIVEXTPROC = procedure(v: PGLuint); stdcall;
  1727. PFNGLSECONDARYCOLOR3USEXTPROC = procedure(red, green, blue: TGLushort); stdcall;
  1728. PFNGLSECONDARYCOLOR3USVEXTPROC = procedure(v: PGLushort); stdcall;
  1729. PFNGLSECONDARYCOLORPOINTEREXTPROC = procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); stdcall;
  1730. // GL_EXT_multi_draw_arrays (EXT #148)
  1731. PFNGLMULTIDRAWARRAYSEXTPROC = procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); stdcall;
  1732. PFNGLMULTIDRAWELEMENTSEXTPROC = procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); stdcall;
  1733. // GL_EXT_fog_coord (EXT #149)
  1734. PFNGLFOGCOORDFEXTPROC = procedure(coord: TGLfloat); stdcall;
  1735. PFNGLFOGCOORDFVEXTPROC = procedure(coord: PGLfloat); stdcall;
  1736. PFNGLFOGCOORDDEXTPROC = procedure(coord: TGLdouble); stdcall;
  1737. PFNGLFOGCOORDDVEXTPROC = procedure(coord: PGLdouble); stdcall;
  1738. PFNGLFOGCOORDPOINTEREXTPROC = procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); stdcall;
  1739. // GL_EXT_blend_func_separate (EXT #173)
  1740. PFNGLBLENDFUNCSEPARATEEXTPROC = procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); stdcall;
  1741. // GL_NV_vertex_array_range (EXT #190)
  1742. PFNGLFLUSHVERTEXARRAYRANGENVPROC = procedure; stdcall;
  1743. PFNGLVERTEXARRAYRANGENVPROC = procedure(Size: TGLsizei; p: pointer); stdcall;
  1744. PFNWGLALLOCATEMEMORYNVPROC = function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; stdcall;
  1745. PFNWGLFREEMEMORYNVPROC = procedure(ptr: Pointer); stdcall;
  1746. // GL_NV_register_combiners (EXT #191)
  1747. PFNGLCOMBINERPARAMETERFVNVPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
  1748. PFNGLCOMBINERPARAMETERFNVPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
  1749. PFNGLCOMBINERPARAMETERIVNVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
  1750. PFNGLCOMBINERPARAMETERINVPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
  1751. PFNGLCOMBINERINPUTNVPROC = procedure(stage, portion, variable, input, mapping, componentUsage: Cardinal); stdcall;
  1752. PFNGLCOMBINEROUTPUTNVPROC = procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: Cardinal; abDotProduct, cdDotProduct, muxSum: TGLboolean); stdcall;
  1753. PFNGLFINALCOMBINERINPUTNVPROC = procedure(variable, input, mapping, componentUsage: Cardinal); stdcall;
  1754. PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC = procedure(stage, portion, variable, pname: Cardinal; params: PGLfloat); stdcall;
  1755. PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC = procedure(stage, portion, variable, pname: Cardinal; params: PGLint); stdcall;
  1756. PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC = procedure(stage, portion, pname: Cardinal; params: PGLfloat); stdcall;
  1757. PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC = procedure(stage, portion, pname: Cardinal; params: PGLint); stdcall;
  1758. PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC = procedure(variable, pname: Cardinal; params: PGLfloat); stdcall;
  1759. PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC = procedure(variable, pname: Cardinal; params: PGLint); stdcall;
  1760. // GL_MESA_resize_buffers (EXT #196)
  1761. PFNGLRESIZEBUFFERSMESAPROC = procedure; stdcall;
  1762. // GL_3DFX_tbuffer (EXT #208)
  1763. PFNGLTBUFFERMASK3DFXPROC = procedure(mask: Cardinal); stdcall;
  1764. // GL_EXT_multisample (EXT #209)
  1765. PFNGLSAMPLEMASKEXTPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
  1766. PFNGLSAMPLEPATTERNEXTPROC = procedure(pattern: Cardinal); stdcall;
  1767. // GL_SGIS_texture_color_mask (EXT #214)
  1768. PFNGLTEXTURECOLORMASKSGISPROC = procedure(red, green, blue, alpha: TGLboolean); stdcall;
  1769. // GL_NV_fence (EXT #222)
  1770. PFNGLGENFENCESNVPROC = procedure(n: TGLsizei; fences: PGLuint); stdcall;
  1771. PFNGLDELETEFENCESNVPROC = procedure(n: TGLsizei; fences: PGLuint); stdcall;
  1772. PFNGLSETFENCENVPROC = procedure(fence: Cardinal; condition: Cardinal); stdcall;
  1773. PFNGLTESTFENCENVPROC = function(fence: Cardinal): TGLboolean; stdcall;
  1774. PFNGLFINISHFENCENVPROC = procedure(fence: Cardinal); stdcall;
  1775. PFNGLISFENCENVPROC = function(fence: Cardinal): TGLboolean; stdcall;
  1776. PFNGLGETFENCEIVNVPROC = procedure(fence: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1777. // GL_NV_vertex_program (EXT #233)
  1778. PFNGLAREPROGRAMSRESIDENTNVPROC = procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); stdcall;
  1779. PFNGLBINDPROGRAMNVPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
  1780. PFNGLDELETEPROGRAMSNVPROC = procedure(n: TGLSizei; programs: PGLuint); stdcall;
  1781. PFNGLEXECUTEPROGRAMNVPROC = procedure(target: Cardinal; id: Cardinal; params: PGLfloat); stdcall;
  1782. PFNGLGENPROGRAMSNVPROC = procedure(n: TGLSizei; programs: PGLuint); stdcall;
  1783. PFNGLGETPROGRAMPARAMETERDVNVPROC = procedure (target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
  1784. PFNGLGETPROGRAMPARAMETERFVNVPROC = procedure (target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  1785. PFNGLGETPROGRAMIVNVPROC = procedure (id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1786. PFNGLGETPROGRAMSTRINGNVPROC = procedure (id: Cardinal; pname: Cardinal; programIdx: PGLubyte); stdcall;
  1787. PFNGLGETTRACKMATRIXIVNVPROC = procedure (target: Cardinal; address: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1788. PFNGLGETVERTEXATTRIBDVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
  1789. PFNGLGETVERTEXATTRIBFVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
  1790. PFNGLGETVERTEXATTRIBIVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1791. PFNGLGETVERTEXATTRIBPOINTERVNVPROC = procedure (index: Cardinal; pname: Cardinal; pointer: PGLPointer); stdcall;
  1792. PFNGLISPROGRAMNVPROC = function (id: Cardinal): TGLboolean; stdcall;
  1793. PFNGLLOADPROGRAMNVPROC = procedure (target: Cardinal; id: Cardinal; len: TGLSizei; programIdx: PGLubyte); stdcall;
  1794. PFNGLPROGRAMPARAMETER4DNVPROC = procedure (target: Cardinal; index: Cardinal; x, y, z, w: TGLdouble); stdcall;
  1795. PFNGLPROGRAMPARAMETER4DVNVPROC = procedure (target: Cardinal; index: Cardinal; v: PGLdouble ); stdcall;
  1796. PFNGLPROGRAMPARAMETER4FNVPROC = procedure (target: Cardinal; index: Cardinal; x, y, z, w: TGLfloat); stdcall;
  1797. PFNGLPROGRAMPARAMETER4FVNVPROC = procedure (target: Cardinal; index: Cardinal; v: PGLfloat); stdcall;
  1798. PFNGLPROGRAMPARAMETERS4DVNVPROC = procedure (target: Cardinal; index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
  1799. PFNGLPROGRAMPARAMETERS4FVNVPROC = procedure (target: Cardinal; index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
  1800. PFNGLREQUESTRESIDENTPROGRAMSNVPROC = procedure (n: TGLSizei; programs: PGLuint); stdcall;
  1801. PFNGLTRACKMATRIXNVPROC = procedure (target: Cardinal; address: Cardinal; matrix: Cardinal; transform: Cardinal); stdcall;
  1802. PFNGLVERTEXATTRIBPOINTERNVPROC = procedure (index: Cardinal; fsize: TGLint; vertextype: Cardinal; stride: TGLSizei; pointer: Pointer); stdcall;
  1803. PFNGLVERTEXATTRIB1DNVPROC = procedure (index: Cardinal; x: TGLdouble); stdcall;
  1804. PFNGLVERTEXATTRIB1DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
  1805. PFNGLVERTEXATTRIB1FNVPROC = procedure (index: Cardinal; x: TGLfloat); stdcall;
  1806. PFNGLVERTEXATTRIB1FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
  1807. PFNGLVERTEXATTRIB1SNVPROC = procedure (index: Cardinal; x: TGLshort); stdcall;
  1808. PFNGLVERTEXATTRIB1SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
  1809. PFNGLVERTEXATTRIB2DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
  1810. PFNGLVERTEXATTRIB2DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
  1811. PFNGLVERTEXATTRIB2FNVPROC = procedure (index: Cardinal; x: TGLfloat; y: TGLfloat); stdcall;
  1812. PFNGLVERTEXATTRIB2FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
  1813. PFNGLVERTEXATTRIB2SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort); stdcall;
  1814. PFNGLVERTEXATTRIB2SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
  1815. PFNGLVERTEXATTRIB3DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
  1816. PFNGLVERTEXATTRIB3DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
  1817. PFNGLVERTEXATTRIB3FNVPROC = procedure (index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
  1818. PFNGLVERTEXATTRIB3FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
  1819. PFNGLVERTEXATTRIB3SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort); stdcall;
  1820. PFNGLVERTEXATTRIB3SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
  1821. PFNGLVERTEXATTRIB4DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
  1822. PFNGLVERTEXATTRIB4DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
  1823. PFNGLVERTEXATTRIB4FNVPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
  1824. PFNGLVERTEXATTRIB4FVNVPROC = procedure(index: Cardinal; v: PGLfloat); stdcall;
  1825. PFNGLVERTEXATTRIB4SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); stdcall;
  1826. PFNGLVERTEXATTRIB4SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
  1827. PFNGLVERTEXATTRIB4UBVNVPROC = procedure (index: Cardinal; v: PGLubyte); stdcall;
  1828. PFNGLVERTEXATTRIBS1DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
  1829. PFNGLVERTEXATTRIBS1FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
  1830. PFNGLVERTEXATTRIBS1SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
  1831. PFNGLVERTEXATTRIBS2DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
  1832. PFNGLVERTEXATTRIBS2FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
  1833. PFNGLVERTEXATTRIBS2SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
  1834. PFNGLVERTEXATTRIBS3DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
  1835. PFNGLVERTEXATTRIBS3FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
  1836. PFNGLVERTEXATTRIBS3SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
  1837. PFNGLVERTEXATTRIBS4DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
  1838. PFNGLVERTEXATTRIBS4FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
  1839. PFNGLVERTEXATTRIBS4SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
  1840. PFNGLVERTEXATTRIBS4UBVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLubyte); stdcall;
  1841. // GL_NV_occlusion_query (EXT #261)
  1842. PFNGLGENOCCLUSIONQUERIESNVPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
  1843. PFNGLDELETEOCCLUSIONQUERIESNVPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
  1844. PFNGLISOCCLUSIONQUERYNVPROC = function(id: Cardinal): TGLboolean; stdcall;
  1845. PFNGLBEGINOCCLUSIONQUERYNVPROC = procedure(id: Cardinal); stdcall;
  1846. PFNGLENDOCCLUSIONQUERYNVPROC = procedure; stdcall;
  1847. PFNGLGETOCCLUSIONQUERYIVNVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1848. PFNGLGETOCCLUSIONQUERYUIVNVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
  1849. // GL_NV_point_sprite (EXT #262)
  1850. PFNGLPOINTPARAMETERINVPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
  1851. PFNGLPOINTPARAMETERIVNVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
  1852. // GL_EXT_stencil_two_side (EXT #268)
  1853. PFNGLACTIVESTENCILFACEEXTPROC = procedure(face: Cardinal); stdcall;
  1854. // GL_ATI_draw_buffers (EXT #277)
  1855. PFNGLDRAWBUFFERSATIPROC = procedure(n: TGLsizei; const bufs: PCardinal); stdcall;
  1856. // GL_NV_primitive_restart (EXT #285)
  1857. PFNGLPRIMITIVERESTARTNVPROC = procedure();stdcall;
  1858. PFNGLPRIMITIVERESTARTINDEXNVPROC = procedure(index: Cardinal); stdcall;
  1859. // GL_EXT_depth_bounds_test (EXT #297)
  1860. PFNGLDEPTHBOUNDSEXTPROC = procedure(zmin: TGLclampd; zmax: TGLclampd);stdcall;
  1861. // GL_EXT_blend_equation_separate (EXT #299)
  1862. PFNGLBLENDEQUATIONSEPARATEEXTPROC = procedure(modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
  1863. // GL_EXT_framebuffer_object (EXT #310)
  1864. PFNGLISRENDERBUFFEREXTPROC = function(renderbuffer: Cardinal): TGLboolean; stdcall;
  1865. PFNGLBINDRENDERBUFFEREXTPROC = procedure(target: Cardinal; renderbuffer: Cardinal); stdcall;
  1866. PFNGLDELETERENDERBUFFERSEXTPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
  1867. PFNGLGENRENDERBUFFERSEXTPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
  1868. PFNGLRENDERBUFFERSTORAGEEXTPROC = procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
  1869. PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1870. PFNGLISFRAMEBUFFEREXTPROC = function(framebuffer: Cardinal): TGLboolean; stdcall;
  1871. PFNGLBINDFRAMEBUFFEREXTPROC = procedure(target: Cardinal; framebuffer: Cardinal); stdcall;
  1872. PFNGLDELETEFRAMEBUFFERSEXTPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
  1873. PFNGLGENFRAMEBUFFERSEXTPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
  1874. PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC = function(target: Cardinal): Cardinal; stdcall;
  1875. PFNGLFRAMEBUFFERTEXTURE1DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1876. PFNGLFRAMEBUFFERTEXTURE2DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
  1877. PFNGLFRAMEBUFFERTEXTURE3DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; zoffset: TGLint); stdcall;
  1878. PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC = procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
  1879. PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
  1880. PFNGLGENERATEMIPMAPEXTPROC = procedure(target: Cardinal); stdcall;
  1881. // GL_GREMEDY_string_marker (EXT #311)
  1882. PFNGLSTRINGMARKERGREMEDYPROC = procedure(len: TGLsizei; str: PAnsiChar); stdcall;
  1883. // GL_EXT_stencil_clear_tag (EXT #314)
  1884. PFNGLSTENCILCLEARTAGEXTPROC = procedure(stencilTagBits: TGLsizei; stencilClearTag: Cardinal);stdcall;
  1885. // GL_EXT_framebuffer_blit (EXT #316)
  1886. PFNGLBLITFRAMEBUFFEREXTPROC = procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint;
  1887. dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint;
  1888. mask: TGLbitfield; filter: Cardinal);stdcall;
  1889. // GL_EXT_framebuffer_multisample (EXT #317)
  1890. PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = procedure(target: Cardinal; samples: TGLsizei;
  1891. internalformat: Cardinal; width: TGLsizei; height: TGLsizei);stdcall;
  1892. // GL_EXT_timer_query (EXT #319)
  1893. PFNGLGETQUERYOBJECTI64VEXTPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint64EXT);stdcall;
  1894. PFNGLGETQUERYOBJECTUI64VEXTPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint64EXT);stdcall;
  1895. // GL_EXT_gpu_program_parameters (EXT #320)
  1896. PFNGLPROGRAMENVPARAMETERS4FVEXTPROC = procedure(target:Cardinal; index:Cardinal; count:TGLsizei;
  1897. const params:PGLfloat);stdcall;
  1898. PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC = procedure(target:Cardinal; index:Cardinal; count:TGLsizei;
  1899. const params:PGLFloat);stdcall;
  1900. // GL_NV_geometry_program4 (EXT #323)
  1901. PFNGLPROGRAMVERTEXLIMITNVPROC = procedure (target: Cardinal; limit: TGLint);stdcall;
  1902. // GL_EXT_geometry_shader4 (EXT #324)
  1903. PFNGLPROGRAMPARAMETERIEXTPROC = procedure ( _program:Cardinal; pname:Cardinal; value: TGLint); stdcall;
  1904. PFNGLFRAMEBUFFERTEXTUREEXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint); stdcall;
  1905. PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; layer:TGLint); stdcall;
  1906. PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; face:Cardinal); stdcall;
  1907. // GL_EXT_gpu_shader4 (EXT #326)
  1908. PFNGLVERTEXATTRIBI1IEXTPROC = procedure(index: Cardinal; x: TGLint);stdcall;
  1909. PFNGLVERTEXATTRIBI2IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint);stdcall;
  1910. PFNGLVERTEXATTRIBI3IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint);stdcall;
  1911. PFNGLVERTEXATTRIBI4IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint);stdcall;
  1912. PFNGLVERTEXATTRIBI1UIEXTPROC = procedure(index: Cardinal; x: Cardinal);stdcall;
  1913. PFNGLVERTEXATTRIBI2UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal);stdcall;
  1914. PFNGLVERTEXATTRIBI3UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal);stdcall;
  1915. PFNGLVERTEXATTRIBI4UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal);stdcall;
  1916. PFNGLVERTEXATTRIBI1IVEXTPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  1917. PFNGLVERTEXATTRIBI2IVEXTPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  1918. PFNGLVERTEXATTRIBI3IVEXTPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  1919. PFNGLVERTEXATTRIBI4IVEXTPROC = procedure(index: Cardinal; v:PGLint);stdcall;
  1920. PFNGLVERTEXATTRIBI1UIVEXTPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  1921. PFNGLVERTEXATTRIBI2UIVEXTPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  1922. PFNGLVERTEXATTRIBI3UIVEXTPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  1923. PFNGLVERTEXATTRIBI4UIVEXTPROC = procedure(index: Cardinal; v:PGLuint);stdcall;
  1924. PFNGLVERTEXATTRIBI4BVEXTPROC = procedure(index: Cardinal; v:PGLbyte);stdcall;
  1925. PFNGLVERTEXATTRIBI4SVEXTPROC = procedure(index: Cardinal; v:PGLshort);stdcall;
  1926. PFNGLVERTEXATTRIBI4UBVEXTPROC = procedure(index: Cardinal; v: PGLUbyte);stdcall;
  1927. PFNGLVERTEXATTRIBI4USVEXTPROC = procedure(index: Cardinal; v: PGLushort);stdcall;
  1928. PFNGLVERTEXATTRIBIPOINTEREXTPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal;
  1929. stride: TGLsizei; _pointer: pointer);stdcall;
  1930. PFNGLGETVERTEXATTRIBIIVEXTPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1931. PFNGLGETVERTEXATTRIBIUIVEXTPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLuint);stdcall;
  1932. PFNGLUNIFORM1UIEXTPROC = procedure(location: TGLInt; v0: Cardinal);stdcall;
  1933. PFNGLUNIFORM2UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal);stdcall;
  1934. PFNGLUNIFORM3UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal);stdcall;
  1935. PFNGLUNIFORM4UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal);stdcall;
  1936. PFNGLUNIFORM1UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  1937. PFNGLUNIFORM2UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  1938. PFNGLUNIFORM3UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  1939. PFNGLUNIFORM4UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint);stdcall;
  1940. PFNGLGETUNIFORMUIVEXTPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint);stdcall;
  1941. PFNGLBINDFRAGDATALOCATIONEXTPROC = procedure(_program: Cardinal; colorNumber: Cardinal; name: PAnsiChar);stdcall;
  1942. PFNGLGETFRAGDATALOCATIONEXTPROC = function(_program: Cardinal; name: PAnsiChar): TGLint;stdcall;
  1943. // GL_EXT_draw_instanced (EXT #327)
  1944. PFNGLDRAWARRAYSINSTANCEDEXTPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei;
  1945. primcount: TGLsizei);stdcall;
  1946. PFNGLDRAWELEMENTSINSTANCEDEXTPROC = procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal;
  1947. indices: PGLvoid; primcount: TGLsizei);stdcall;
  1948. // GL_EXT_packed_float (EXT #328)
  1949. // WGL_EXT_pixel_format_packed_float
  1950. // GLX_EXT_fbconfig_packed_float
  1951. // GL_EXT_texture_array (EXT #329)
  1952. //glFramebufferTextureLayerEXT: procedure(target: Cardinal; attachment: Cardinal;
  1953. // texture: Cardinal; level: TGLint; layer: TGLint);
  1954. // GL_EXT_texture_buffer_object (EXT #330)
  1955. PFNGLTEXBUFFEREXTPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal);stdcall;
  1956. // GL_EXT_draw_buffers2 (EXT #340)
  1957. PFNGLCOLORMASKINDEXEDEXTPROC = procedure(buf: Cardinal; r: TGLboolean; g: TGLboolean;
  1958. b: TGLboolean; a: TGLboolean);stdcall;
  1959. PFNGLGETBOOLEANINDEXEDVEXTPROC = procedure(value: Cardinal; index: Cardinal; data: PGLboolean);stdcall;
  1960. PFNGLGETINTEGERINDEXEDVEXTPROC = procedure(value: Cardinal; index: Cardinal; data: PGLint);stdcall;
  1961. PFNGLENABLEINDEXEDEXTPROC = procedure(target: Cardinal; index: Cardinal);stdcall;
  1962. PFNGLDISABLEINDEXEDEXTPROC = procedure(target: Cardinal; index: Cardinal);stdcall;
  1963. PFNGLISENABLEDINDEXEDEXTPROC = function(target: Cardinal; index: Cardinal): TGLboolean;stdcall;
  1964. // GL_NV_transform_feedback (EXT #341)
  1965. PFNGLBINDBUFFERRANGENVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal;
  1966. offset: TGLintptr; size: TGLsizeiptr);stdcall;
  1967. PFNGLBINDBUFFEROFFSETNVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal;
  1968. offset: TGLintptr);stdcall;
  1969. PFNGLBINDBUFFERBASENVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal);stdcall;
  1970. PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC = procedure(count: TGLsizei; attribs: PGLint;
  1971. bufferMode: Cardinal);stdcall;
  1972. PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC = procedure(_program: Cardinal; count: TGLsizei;
  1973. locations: PGLint; bufferMode: Cardinal);stdcall;
  1974. PFNGLBEGINTRANSFORMFEEDBACKNVPROC = procedure(primitiveMode: Cardinal);stdcall;
  1975. PFNGLENDTRANSFORMFEEDBACKNVPROC = procedure();stdcall;
  1976. PFNGLGETVARYINGLOCATIONNVPROC = function(_program: Cardinal; name: PAnsiChar): TGLint;stdcall;
  1977. PFNGLGETACTIVEVARYINGNVPROC = procedure(_program: Cardinal; index: Cardinal;
  1978. bufSize: TGLsizei; length: PGLsizei; size: PGLsizei;
  1979. _type: Cardinal; name: PAnsiChar);stdcall;
  1980. PFNGLACTIVEVARYINGNVPROC = procedure(_program: Cardinal; name: PAnsiChar);stdcall;
  1981. PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC = procedure(_program: Cardinal; index: Cardinal;
  1982. location: PGLint);stdcall;
  1983. // GL_EXT_bindable_uniform (EXT #342)
  1984. PFNGLUNIFORMBUFFEREXTPROC = procedure(_program: Cardinal; location: TGLint; buffer: Cardinal);stdcall;
  1985. PFNGLGETUNIFORMBUFFERSIZEEXTPROC = function(_program: Cardinal; location: TGLint): TGLint;stdcall;
  1986. PFNGLGETUNIFORMOFFSETEXTPROC = function(_program: Cardinal; location: TGLint): PGLint;stdcall;
  1987. // GL_EXT_texture_integer (EXT #343)
  1988. PFNGLCLEARCOLORIIEXTPROC = procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint);stdcall;
  1989. PFNGLCLEARCOLORIUIEXTPROC = procedure(r: Cardinal; g: Cardinal; b: Cardinal; a: Cardinal);stdcall;
  1990. PFNGLTEXPARAMETERIIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1991. PFNGLTEXPARAMETERIUIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint);stdcall;
  1992. PFNGLGETTEXPARAMETERIIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint);stdcall;
  1993. PFNGLGETTEXPARAMETERIUIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint);stdcall;
  1994. // GL_GREMEDY_frame_terminator (EXT #345)
  1995. PFNGLFRAMETERMINATORGREMEDYPROC = procedure(); stdcall;
  1996. // GL_NV_conditional_render (EXT #346)
  1997. PFNGLBEGINCONDITIONALRENDERNVPROC = procedure(id: Cardinal; mode: Cardinal);stdcall;
  1998. PFNGLENDCONDITIONALRENDERNVPROC = procedure();stdcall;
  1999. // GL_EXT_transform_feedback (EXT #352)
  2000. PFNGLBINDBUFFERRANGEEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal;
  2001. offset:TGLintptr; size: TGLsizeiptr);stdcall;
  2002. PFNGLBINDBUFFEROFFSETEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal;
  2003. offset:TGLintptr);stdcall;
  2004. PFNGLBINDBUFFERBASEEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal);stdcall;
  2005. PFNGLBEGINTRANSFORMFEEDBACKEXTPROC = procedure(primitiveMode: Cardinal);stdcall;
  2006. PFNGLENDTRANSFORMFEEDBACKEXTPROC = procedure();stdcall;
  2007. PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC = procedure(_program: Cardinal; count: TGLsizei;
  2008. const varyings: PGLPCharArray; bufferMode: Cardinal);stdcall;
  2009. PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC = procedure(_program: Cardinal; index: Cardinal;
  2010. bufSize: TGLsizei; length: PGLsizei;
  2011. size: PGLsizei; _type: PCardinal; name: PAnsiChar);stdcall;
  2012. // GL_AMD_vertex_shader_tessellator (EXT #363)
  2013. PFNGLTESSELLATIONFACTORAMDPROC = procedure(factor: TGLfloat); stdcall;
  2014. PFNGLTESSELLATIONMODEAMDPROC = procedure(mode: Cardinal); stdcall;
  2015. // GL_NV_copy_image (EXT #376)
  2016. PFNGLCOPYIMAGESUBDATANVPROC = procedure(
  2017. srcName: Cardinal; srcTarget: Cardinal; srcLevel: TGLint;
  2018. srcX: TGLint; srcY: TGLint; srcZ: TGLint;
  2019. dstName: Cardinal; dstTarget: Cardinal; dstLevel: TGLint;
  2020. dstX: TGLint; dstY: TGLint; dstZ: TGLint;
  2021. width: TGLsizei; height: TGLsizei; depth: TGLsizei); stdcall;
  2022. // GL_NV_shader_buffer_load (EXT #379)
  2023. PFNGLMAKEBUFFERRESIDENTNVPROC = procedure(target: Cardinal; access: Cardinal);stdcall;
  2024. PFNGLMAKEBUFFERNONRESIDENTNVPROC = procedure(target: Cardinal);stdcall;
  2025. PFNGLISBUFFERRESIDENTNVPROC = function(target: Cardinal): TGLboolean;stdcall;
  2026. PFNGLMAKENAMEDBUFFERRESIDENTNVPROC = procedure(buffer: Cardinal; access: Cardinal);stdcall;
  2027. PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC = procedure(buffer: Cardinal);stdcall;
  2028. PFNGLISNAMEDBUFFERRESIDENTNVPROC = function (buffer: Cardinal): TGLboolean;stdcall;
  2029. PFNGLGETBUFFERPARAMETERUI64VNVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint64EXT );stdcall;
  2030. PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLuint64EXT);stdcall;
  2031. PFNGLGETINTEGERUI64VNVPROC = procedure(value: Cardinal; result: PGLuint64EXT);stdcall;
  2032. PFNGLUNIFORMUI64NVPROC = procedure(location: TGLint; value: TGLuint64EXT);stdcall;
  2033. PFNGLUNIFORMUI64VNVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLuint64EXT);stdcall;
  2034. PFNGLGETUNIFORMUI64VNVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint64EXT);stdcall;
  2035. PFNGLPROGRAMUNIFORMUI64NVPROC = procedure(_program: Cardinal; location: TGLint; value: TGLuint64EXT);stdcall;
  2036. PFNGLPROGRAMUNIFORMUI64VNVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLuint64EXT);stdcall;
  2037. // GL_NV_vertex_buffer_unified_memory (EXT #380)
  2038. PFNGLBUFFERADDRESSRANGENVPROC = procedure(pname: Cardinal; index: Cardinal; address: TGLuint64EXT; length: TGLsizeiptr);stdcall;
  2039. PFNGLVERTEXFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);stdcall;
  2040. PFNGLNORMALFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei);stdcall;
  2041. PFNGLCOLORFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);stdcall;
  2042. PFNGLINDEXFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei);stdcall;
  2043. PFNGLTEXCOORDFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);stdcall;
  2044. PFNGLEDGEFLAGFORMATNVPROC = procedure(stride: TGLsizei);stdcall;
  2045. PFNGLSECONDARYCOLORFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei);stdcall;
  2046. PFNGLFOGCOORDFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei);stdcall;
  2047. PFNGLVERTEXATTRIBFORMATNVPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei);stdcall;
  2048. PFNGLVERTEXATTRIBIFORMATNVPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei);stdcall;
  2049. PFNGLGETINTEGERUI64I_VNVPROC = procedure(value: Cardinal; index: Cardinal; result: PGLuint64EXT);stdcall;
  2050. PGNGLGETBUFFERPARAMETERUI64VNV = procedure(value: Cardinal; index: Cardinal; result: PGLuint64EXT);stdcall;
  2051. // GL_NV_path_rendering
  2052. PFNGLGENPATHSNVPROC = function (range: TGLsizei): Cardinal;stdcall;
  2053. PFNGLDELETEPATHSNVPROC = procedure(path: Cardinal; range: TGLsizei);stdcall;
  2054. PFNGLISPATHNVPROC = function(path: Cardinal): TGLboolean;stdcall;
  2055. PFNGLPATHCOMMANDSNVPROC = procedure(path: Cardinal; numCommands: TGLsizei; commands: PGLubyte; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid);stdcall;
  2056. PFNGLPATHCOORDSNVPROC = procedure(path: Cardinal; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid);stdcall;
  2057. PFNGLPATHSUBCOMMANDSNVPROC = procedure(path: Cardinal; commandStart: TGLsizei; commandsToDelete: TGLsizei; numCommands: TGLsizei; commands: PGLubyte; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid);stdcall;
  2058. PFNGLPATHSUBCOORDSNVPROC = procedure(path: Cardinal; coordStart: TGLsizei; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid);stdcall;
  2059. PFNGLPATHSTRINGNVPROC = procedure(path: Cardinal; format: Cardinal; length: TGLsizei; pathString: PGLvoid);stdcall;
  2060. PFNGLPATHGLYPHSNVPROC = procedure(firstPathName: Cardinal; fontTarget: Cardinal; fontName: PGLvoid; fontStyle: TGLbitfield; numGlyphs: TGLsizei; _type: Cardinal; charcodes: PGLvoid; handleMissingGlyphs: Cardinal; pathParameterTemplate: Cardinal; emScale: TGLfloat);stdcall;
  2061. PFNGLPATHGLYPHRANGENVPROC = procedure(firstPathName: Cardinal; fontTarget: Cardinal; fontName: PAnsiChar; fontStyle: TGLbitfield; firstGlyph: Cardinal; numGlyphs: TGLsizei; handleMissingGlyphs: Cardinal; pathParameterTemplate: Cardinal; emScale: TGLfloat);stdcall;
  2062. PFNGLWEIGHTPATHSNVPROC = procedure (resultPath: Cardinal; numPaths: TGLsizei; paths: PGLuint; weights: PGLfloat);stdcall;
  2063. PFNGLCOPYPATHNVPROC = procedure (resultPath: Cardinal; srcPath: Cardinal);stdcall;
  2064. PFNGLINTERPOLATEPATHSNVPROC = procedure (resultPath: Cardinal; pathA: Cardinal; pathB: Cardinal; weight: TGLfloat);stdcall;
  2065. PFNGLTRANSFORMPATHNVPROC = procedure ( resultPath: Cardinal; srcPath: Cardinal; transformType: Cardinal; transformValues: PGLfloat);stdcall;
  2066. PFNGLPATHPARAMETERIVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLint);stdcall;
  2067. PFNGLPATHPARAMETERINVPROC = procedure (path: Cardinal; pname: Cardinal; value: TGLint);stdcall;
  2068. PFNGLPATHPARAMETERFVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLfloat);stdcall;
  2069. PFNGLPATHPARAMETERFNVPROC = procedure (path: Cardinal; pname: Cardinal; value: TGLfloat);stdcall;
  2070. PFNGLPATHDASHARRAYNVPROC = procedure (path: Cardinal; dashCount: TGLsizei; dashArray: PGLfloat);stdcall;
  2071. PFNGLPATHSTENCILFUNCNVPROC = procedure (func: Cardinal; ref: TGLint; mask: Cardinal);stdcall;
  2072. PFNGLPATHSTENCILDEPTHOFFSETNVPROC = procedure (factor: TGLfloat; units: TGLfloat);stdcall;
  2073. PFNGLSTENCILFILLPATHNVPROC = procedure (path: Cardinal; fillMode: Cardinal; mask: Cardinal);stdcall;
  2074. PFNGLSTENCILSTROKEPATHNVPROC = procedure(path: Cardinal; reference: TGLint; mask: Cardinal);stdcall;
  2075. PFNGLSTENCILFILLPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; fillMode: Cardinal; mask: Cardinal; transformType: Cardinal; transformValues: PGLfloat);stdcall;
  2076. PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; reference: TGLint; mask: Cardinal; transformType: Cardinal; transformValues: PGLfloat);stdcall;
  2077. PFNGLPATHCOVERDEPTHFUNCNVPROC = procedure (func: Cardinal);stdcall;
  2078. PFNGLPATHCOLORGENNVPROC = procedure (color: Cardinal; genMode: Cardinal; colorFormat: Cardinal; coeffs: PGLfloat);stdcall;
  2079. PFNGLPATHTEXGENNVPROC = procedure (texCoordSet: Cardinal; genMode: Cardinal; components: TGLint; coeffs: PGLfloat);stdcall;
  2080. PFNGLPATHFOGGENNVPROC = procedure (genMode: Cardinal);stdcall;
  2081. PFNGLCOVERFILLPATHNVPROC = procedure (path: Cardinal; coverMode: Cardinal);stdcall;
  2082. PFNGLCOVERSTROKEPATHNVPROC = procedure (path: Cardinal; coverMode: Cardinal);stdcall;
  2083. PFNGLCOVERFILLPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; coverMode: Cardinal; transformType: Cardinal; transformValues: PGLfloat);stdcall;
  2084. PFNGLCOVERSTROKEPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; coverMode: Cardinal; transformType: Cardinal; transformValues: PGLfloat);stdcall;
  2085. PFNGLGETPATHPARAMETERIVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLint);stdcall;
  2086. PFNGLGETPATHPARAMETERFVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLfloat);stdcall;
  2087. PFNGLGETPATHCOMMANDSNVPROC = procedure (path: Cardinal; commands: PGLubyte);stdcall;
  2088. PFNGLGETPATHCOORDSNVPROC = procedure (path: Cardinal; coords: PGLfloat);stdcall;
  2089. PFNGLGETPATHDASHARRAYNVPROC = procedure (path: Cardinal; dashArray: PGLfloat);stdcall;
  2090. PFNGLGETPATHMETRICSNVPROC = procedure (metricQueryMask: TGLbitfield; numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; stride: TGLsizei; metrics: PGLfloat);stdcall;
  2091. PFNGLGETPATHMETRICRANGENVPROC = procedure (metricQueryMask: TGLbitfield; firstPathName: Cardinal; numPaths: TGLsizei; stride: TGLsizei; metrics: PGLfloat);stdcall;
  2092. PFNGLGETPATHSPACINGNVPROC = procedure (pathListMode: Cardinal; numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; advanceScale: TGLfloat; kerningScale: TGLfloat; transformType: Cardinal; returnedSpacing: PGLfloat);stdcall;
  2093. PFNGLGETPATHCOLORGENIVNVPROC = procedure (color: Cardinal; pname: Cardinal; value: PGLint);stdcall;
  2094. PFNGLGETPATHCOLORGENFVNVPROC = procedure (color: Cardinal; pname: Cardinal; value: PGLfloat);stdcall;
  2095. PFNGLGETPATHTEXGENIVNVPROC = procedure (texCoordSet: Cardinal; pname: Cardinal; value: PGLint);stdcall;
  2096. PFNGLGETPATHTEXGENFVNVPROC = procedure (texCoordSet: Cardinal; pname: Cardinal; value: PGLfloat);stdcall;
  2097. PFNGLISPOINTINFILLPATHNVPROC = function (path: Cardinal; mask: Cardinal; x: TGLfloat; y: TGLfloat): TGLboolean;stdcall;
  2098. PFNGLISPOINTINSTROKEPATHNVPROC = function (path: Cardinal; x: TGLfloat; y: TGLfloat): TGLboolean;stdcall;
  2099. PFNGLGETPATHLENGTHNVPROC = function (path: Cardinal; startSegment: TGLsizei; numSegments: TGLsizei): TGLfloat;stdcall;
  2100. PFNGLPOINTALONGPATHNVPROC = function (path: Cardinal; startSegment: TGLsizei; numSegments: TGLsizei; distance: TGLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): TGLboolean;stdcall;
  2101. implementation //--------------------------------------------------------------
  2102. end.