GLS.OpenGLTokens.pas 178 KB

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