extern.bmx 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455
  1. ' Copyright (c) 2020 Bruce A Henderson
  2. '
  3. ' Permission is hereby granted, free of charge, to any person obtaining a copy
  4. ' of this software and associated documentation files (the "Software"), to deal
  5. ' in the Software without restriction, including without limitation the rights
  6. ' to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7. ' copies of the Software, and to permit persons to whom the Software is
  8. ' furnished to do so, subject to the following conditions:
  9. '
  10. ' The above copyright notice and this permission notice shall be included in
  11. ' all copies or substantial portions of the Software.
  12. '
  13. ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14. ' IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15. ' FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16. ' AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17. ' LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18. ' OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  19. ' THE SOFTWARE.
  20. '
  21. SuperStrict
  22. Import Pub.OpenGLES
  23. Extern
  24. Const GL_READ_BUFFER:Int = $0C02
  25. Const GL_UNPACK_ROW_LENGTH:Int = $0CF2
  26. Const GL_UNPACK_SKIP_ROWS:Int = $0CF3
  27. Const GL_UNPACK_SKIP_PIXELS:Int = $0CF4
  28. Const GL_PACK_ROW_LENGTH:Int = $0D02
  29. Const GL_PACK_SKIP_ROWS:Int = $0D03
  30. Const GL_PACK_SKIP_PIXELS:Int = $0D04
  31. Const GL_COLOR:Int = $1800
  32. Const GL_DEPTH:Int = $1801
  33. Const GL_STENCIL:Int = $1802
  34. Const GL_RED:Int = $1903
  35. Const GL_RGB8:Int = $8051
  36. Const GL_RGBA8:Int = $8058
  37. Const GL_RGB10_A2:Int = $8059
  38. Const GL_TEXTURE_BINDING_3D:Int = $806A
  39. Const GL_UNPACK_SKIP_IMAGES:Int = $806D
  40. Const GL_UNPACK_IMAGE_HEIGHT:Int = $806E
  41. Const GL_TEXTURE_3D:Int = $806F
  42. Const GL_TEXTURE_WRAP_R:Int = $8072
  43. Const GL_MAX_3D_TEXTURE_SIZE:Int = $8073
  44. Const GL_UNSIGNED_INT_2_10_10_10_REV:Int = $8368
  45. Const GL_MAX_ELEMENTS_VERTICES:Int = $80E8
  46. Const GL_MAX_ELEMENTS_INDICES:Int = $80E9
  47. Const GL_TEXTURE_MIN_LOD:Int = $813A
  48. Const GL_TEXTURE_MAX_LOD:Int = $813B
  49. Const GL_TEXTURE_BASE_LEVEL:Int = $813C
  50. Const GL_TEXTURE_MAX_LEVEL:Int = $813D
  51. Const GL_MIN:Int = $8007
  52. Const GL_MAX:Int = $8008
  53. Const GL_DEPTH_COMPONENT24:Int = $81A6
  54. Const GL_MAX_TEXTURE_LOD_BIAS:Int = $84FD
  55. Const GL_TEXTURE_COMPARE_MODE:Int = $884C
  56. Const GL_TEXTURE_COMPARE_FUNC:Int = $884D
  57. Const GL_CURRENT_QUERY:Int = $8865
  58. Const GL_QUERY_RESULT:Int = $8866
  59. Const GL_QUERY_RESULT_AVAILABLE:Int = $8867
  60. Const GL_BUFFER_MAPPED:Int = $88BC
  61. Const GL_BUFFER_MAP_POINTER:Int = $88BD
  62. Const GL_STREAM_READ:Int = $88E1
  63. Const GL_STREAM_COPY:Int = $88E2
  64. Const GL_STATIC_READ:Int = $88E5
  65. Const GL_STATIC_COPY:Int = $88E6
  66. Const GL_DYNAMIC_READ:Int = $88E9
  67. Const GL_DYNAMIC_COPY:Int = $88EA
  68. Const GL_MAX_DRAW_BUFFERS:Int = $8824
  69. Const GL_DRAW_BUFFER0:Int = $8825
  70. Const GL_DRAW_BUFFER1:Int = $8826
  71. Const GL_DRAW_BUFFER2:Int = $8827
  72. Const GL_DRAW_BUFFER3:Int = $8828
  73. Const GL_DRAW_BUFFER4:Int = $8829
  74. Const GL_DRAW_BUFFER5:Int = $882A
  75. Const GL_DRAW_BUFFER6:Int = $882B
  76. Const GL_DRAW_BUFFER7:Int = $882C
  77. Const GL_DRAW_BUFFER8:Int = $882D
  78. Const GL_DRAW_BUFFER9:Int = $882E
  79. Const GL_DRAW_BUFFER10:Int = $882F
  80. Const GL_DRAW_BUFFER11:Int = $8830
  81. Const GL_DRAW_BUFFER12:Int = $8831
  82. Const GL_DRAW_BUFFER13:Int = $8832
  83. Const GL_DRAW_BUFFER14:Int = $8833
  84. Const GL_DRAW_BUFFER15:Int = $8834
  85. Const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS:Int = $8B49
  86. Const GL_MAX_VERTEX_UNIFORM_COMPONENTS:Int = $8B4A
  87. Const GL_SAMPLER_3D:Int = $8B5F
  88. Const GL_SAMPLER_2D_SHADOW:Int = $8B62
  89. Const GL_FRAGMENT_SHADER_DERIVATIVE_HINT:Int = $8B8B
  90. Const GL_PIXEL_PACK_BUFFER:Int = $88EB
  91. Const GL_PIXEL_UNPACK_BUFFER:Int = $88EC
  92. Const GL_PIXEL_PACK_BUFFER_BINDING:Int = $88ED
  93. Const GL_PIXEL_UNPACK_BUFFER_BINDING:Int = $88EF
  94. Const GL_FLOAT_MAT2x3:Int = $8B65
  95. Const GL_FLOAT_MAT2x4:Int = $8B66
  96. Const GL_FLOAT_MAT3x2:Int = $8B67
  97. Const GL_FLOAT_MAT3x4:Int = $8B68
  98. Const GL_FLOAT_MAT4x2:Int = $8B69
  99. Const GL_FLOAT_MAT4x3:Int = $8B6A
  100. Const GL_SRGB:Int = $8C40
  101. Const GL_SRGB8:Int = $8C41
  102. Const GL_SRGB8_ALPHA8:Int = $8C43
  103. Const GL_COMPARE_REF_TO_TEXTURE:Int = $884E
  104. Const GL_MAJOR_VERSION:Int = $821B
  105. Const GL_MINOR_VERSION:Int = $821C
  106. Const GL_NUM_EXTENSIONS:Int = $821D
  107. Const GL_RGBA32F:Int = $8814
  108. Const GL_RGB32F:Int = $8815
  109. Const GL_RGBA16F:Int = $881A
  110. Const GL_RGB16F:Int = $881B
  111. Const GL_VERTEX_ATTRIB_ARRAY_INTEGER:Int = $88FD
  112. Const GL_MAX_ARRAY_TEXTURE_LAYERS:Int = $88FF
  113. Const GL_MIN_PROGRAM_TEXEL_OFFSET:Int = $8904
  114. Const GL_MAX_PROGRAM_TEXEL_OFFSET:Int = $8905
  115. Const GL_MAX_VARYING_COMPONENTS:Int = $8B4B
  116. Const GL_TEXTURE_2D_ARRAY:Int = $8C1A
  117. Const GL_TEXTURE_BINDING_2D_ARRAY:Int = $8C1D
  118. Const GL_R11F_G11F_B10F:Int = $8C3A
  119. Const GL_UNSIGNED_INT_10F_11F_11F_REV:Int = $8C3B
  120. Const GL_RGB9_E5:Int = $8C3D
  121. Const GL_UNSIGNED_INT_5_9_9_9_REV:Int = $8C3E
  122. Const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH:Int = $8C76
  123. Const GL_TRANSFORM_FEEDBACK_BUFFER_MODE:Int = $8C7F
  124. Const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:Int = $8C80
  125. Const GL_TRANSFORM_FEEDBACK_VARYINGS:Int = $8C83
  126. Const GL_TRANSFORM_FEEDBACK_BUFFER_START:Int = $8C84
  127. Const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE:Int = $8C85
  128. Const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:Int = $8C88
  129. Const GL_RASTERIZER_DISCARD:Int = $8C89
  130. Const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:Int = $8C8A
  131. Const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:Int = $8C8B
  132. Const GL_INTERLEAVED_ATTRIBS:Int = $8C8C
  133. Const GL_SEPARATE_ATTRIBS:Int = $8C8D
  134. Const GL_TRANSFORM_FEEDBACK_BUFFER:Int = $8C8E
  135. Const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING:Int = $8C8F
  136. Const GL_RGBA32UI:Int = $8D70
  137. Const GL_RGB32UI:Int = $8D71
  138. Const GL_RGBA16UI:Int = $8D76
  139. Const GL_RGB16UI:Int = $8D77
  140. Const GL_RGBA8UI:Int = $8D7C
  141. Const GL_RGB8UI:Int = $8D7D
  142. Const GL_RGBA32I:Int = $8D82
  143. Const GL_RGB32I:Int = $8D83
  144. Const GL_RGBA16I:Int = $8D88
  145. Const GL_RGB16I:Int = $8D89
  146. Const GL_RGBA8I:Int = $8D8E
  147. Const GL_RGB8I:Int = $8D8F
  148. Const GL_RED_INTEGER:Int = $8D94
  149. Const GL_RGB_INTEGER:Int = $8D98
  150. Const GL_RGBA_INTEGER:Int = $8D99
  151. Const GL_SAMPLER_2D_ARRAY:Int = $8DC1
  152. Const GL_SAMPLER_2D_ARRAY_SHADOW:Int = $8DC4
  153. Const GL_SAMPLER_CUBE_SHADOW:Int = $8DC5
  154. Const GL_UNSIGNED_INT_VEC2:Int = $8DC6
  155. Const GL_UNSIGNED_INT_VEC3:Int = $8DC7
  156. Const GL_UNSIGNED_INT_VEC4:Int = $8DC8
  157. Const GL_INT_SAMPLER_2D:Int = $8DCA
  158. Const GL_INT_SAMPLER_3D:Int = $8DCB
  159. Const GL_INT_SAMPLER_CUBE:Int = $8DCC
  160. Const GL_INT_SAMPLER_2D_ARRAY:Int = $8DCF
  161. Const GL_UNSIGNED_INT_SAMPLER_2D:Int = $8DD2
  162. Const GL_UNSIGNED_INT_SAMPLER_3D:Int = $8DD3
  163. Const GL_UNSIGNED_INT_SAMPLER_CUBE:Int = $8DD4
  164. Const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY:Int = $8DD7
  165. Const GL_BUFFER_ACCESS_FLAGS:Int = $911F
  166. Const GL_BUFFER_MAP_LENGTH:Int = $9120
  167. Const GL_BUFFER_MAP_OFFSET:Int = $9121
  168. Const GL_DEPTH_COMPONENT32F:Int = $8CAC
  169. Const GL_DEPTH32F_STENCIL8:Int = $8CAD
  170. Const GL_FLOAT_32_UNSIGNED_INT_24_8_REV:Int = $8DAD
  171. Const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:Int = $8210
  172. Const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:Int = $8211
  173. Const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE:Int = $8212
  174. Const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:Int = $8213
  175. Const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:Int = $8214
  176. Const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:Int = $8215
  177. Const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:Int = $8216
  178. Const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:Int = $8217
  179. Const GL_FRAMEBUFFER_DEFAULT:Int = $8218
  180. Const GL_FRAMEBUFFER_UNDEFINED:Int = $8219
  181. Const GL_DEPTH_STENCIL_ATTACHMENT:Int = $821A
  182. Const GL_DEPTH_STENCIL:Int = $84F9
  183. Const GL_UNSIGNED_INT_24_8:Int = $84FA
  184. Const GL_DEPTH24_STENCIL8:Int = $88F0
  185. Const GL_UNSIGNED_NORMALIZED:Int = $8C17
  186. Const GL_DRAW_FRAMEBUFFER_BINDING:Int = $8CA6
  187. Const GL_READ_FRAMEBUFFER:Int = $8CA8
  188. Const GL_DRAW_FRAMEBUFFER:Int = $8CA9
  189. Const GL_READ_FRAMEBUFFER_BINDING:Int = $8CAA
  190. Const GL_RENDERBUFFER_SAMPLES:Int = $8CAB
  191. Const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:Int = $8CD4
  192. Const GL_MAX_COLOR_ATTACHMENTS:Int = $8CDF
  193. Const GL_COLOR_ATTACHMENT1:Int = $8CE1
  194. Const GL_COLOR_ATTACHMENT2:Int = $8CE2
  195. Const GL_COLOR_ATTACHMENT3:Int = $8CE3
  196. Const GL_COLOR_ATTACHMENT4:Int = $8CE4
  197. Const GL_COLOR_ATTACHMENT5:Int = $8CE5
  198. Const GL_COLOR_ATTACHMENT6:Int = $8CE6
  199. Const GL_COLOR_ATTACHMENT7:Int = $8CE7
  200. Const GL_COLOR_ATTACHMENT8:Int = $8CE8
  201. Const GL_COLOR_ATTACHMENT9:Int = $8CE9
  202. Const GL_COLOR_ATTACHMENT10:Int = $8CEA
  203. Const GL_COLOR_ATTACHMENT11:Int = $8CEB
  204. Const GL_COLOR_ATTACHMENT12:Int = $8CEC
  205. Const GL_COLOR_ATTACHMENT13:Int = $8CED
  206. Const GL_COLOR_ATTACHMENT14:Int = $8CEE
  207. Const GL_COLOR_ATTACHMENT15:Int = $8CEF
  208. Const GL_COLOR_ATTACHMENT16:Int = $8CF0
  209. Const GL_COLOR_ATTACHMENT17:Int = $8CF1
  210. Const GL_COLOR_ATTACHMENT18:Int = $8CF2
  211. Const GL_COLOR_ATTACHMENT19:Int = $8CF3
  212. Const GL_COLOR_ATTACHMENT20:Int = $8CF4
  213. Const GL_COLOR_ATTACHMENT21:Int = $8CF5
  214. Const GL_COLOR_ATTACHMENT22:Int = $8CF6
  215. Const GL_COLOR_ATTACHMENT23:Int = $8CF7
  216. Const GL_COLOR_ATTACHMENT24:Int = $8CF8
  217. Const GL_COLOR_ATTACHMENT25:Int = $8CF9
  218. Const GL_COLOR_ATTACHMENT26:Int = $8CFA
  219. Const GL_COLOR_ATTACHMENT27:Int = $8CFB
  220. Const GL_COLOR_ATTACHMENT28:Int = $8CFC
  221. Const GL_COLOR_ATTACHMENT29:Int = $8CFD
  222. Const GL_COLOR_ATTACHMENT30:Int = $8CFE
  223. Const GL_COLOR_ATTACHMENT31:Int = $8CFF
  224. Const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:Int = $8D56
  225. Const GL_MAX_SAMPLES:Int = $8D57
  226. Const GL_HALF_FLOAT:Int = $140B
  227. Const GL_MAP_READ_BIT:Int = $0001
  228. Const GL_MAP_WRITE_BIT:Int = $0002
  229. Const GL_MAP_INVALIDATE_RANGE_BIT:Int = $0004
  230. Const GL_MAP_INVALIDATE_BUFFER_BIT:Int = $0008
  231. Const GL_MAP_FLUSH_EXPLICIT_BIT:Int = $0010
  232. Const GL_MAP_UNSYNCHRONIZED_BIT:Int = $0020
  233. Const GL_RG:Int = $8227
  234. Const GL_RG_INTEGER:Int = $8228
  235. Const GL_R8:Int = $8229
  236. Const GL_RG8:Int = $822B
  237. Const GL_R16F:Int = $822D
  238. Const GL_R32F:Int = $822E
  239. Const GL_RG16F:Int = $822F
  240. Const GL_RG32F:Int = $8230
  241. Const GL_R8I:Int = $8231
  242. Const GL_R8UI:Int = $8232
  243. Const GL_R16I:Int = $8233
  244. Const GL_R16UI:Int = $8234
  245. Const GL_R32I:Int = $8235
  246. Const GL_R32UI:Int = $8236
  247. Const GL_RG8I:Int = $8237
  248. Const GL_RG8UI:Int = $8238
  249. Const GL_RG16I:Int = $8239
  250. Const GL_RG16UI:Int = $823A
  251. Const GL_RG32I:Int = $823B
  252. Const GL_RG32UI:Int = $823C
  253. Const GL_VERTEX_ARRAY_BINDING:Int = $85B5
  254. Const GL_R8_SNORM:Int = $8F94
  255. Const GL_RG8_SNORM:Int = $8F95
  256. Const GL_RGB8_SNORM:Int = $8F96
  257. Const GL_RGBA8_SNORM:Int = $8F97
  258. Const GL_SIGNED_NORMALIZED:Int = $8F9C
  259. Const GL_PRIMITIVE_RESTART_FIXED_INDEX:Int = $8D69
  260. Const GL_COPY_READ_BUFFER:Int = $8F36
  261. Const GL_COPY_WRITE_BUFFER:Int = $8F37
  262. Const GL_COPY_READ_BUFFER_BINDING:Int = $8F36
  263. Const GL_COPY_WRITE_BUFFER_BINDING:Int = $8F37
  264. Const GL_UNIFORM_BUFFER:Int = $8A11
  265. Const GL_UNIFORM_BUFFER_BINDING:Int = $8A28
  266. Const GL_UNIFORM_BUFFER_START:Int = $8A29
  267. Const GL_UNIFORM_BUFFER_SIZE:Int = $8A2A
  268. Const GL_MAX_VERTEX_UNIFORM_BLOCKS:Int = $8A2B
  269. Const GL_MAX_FRAGMENT_UNIFORM_BLOCKS:Int = $8A2D
  270. Const GL_MAX_COMBINED_UNIFORM_BLOCKS:Int = $8A2E
  271. Const GL_MAX_UNIFORM_BUFFER_BINDINGS:Int = $8A2F
  272. Const GL_MAX_UNIFORM_BLOCK_SIZE:Int = $8A30
  273. Const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:Int = $8A31
  274. Const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:Int = $8A33
  275. Const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT:Int = $8A34
  276. Const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH:Int = $8A35
  277. Const GL_ACTIVE_UNIFORM_BLOCKS:Int = $8A36
  278. Const GL_UNIFORM_TYPE:Int = $8A37
  279. Const GL_UNIFORM_SIZE:Int = $8A38
  280. Const GL_UNIFORM_NAME_LENGTH:Int = $8A39
  281. Const GL_UNIFORM_BLOCK_INDEX:Int = $8A3A
  282. Const GL_UNIFORM_OFFSET:Int = $8A3B
  283. Const GL_UNIFORM_ARRAY_STRIDE:Int = $8A3C
  284. Const GL_UNIFORM_MATRIX_STRIDE:Int = $8A3D
  285. Const GL_UNIFORM_IS_ROW_MAJOR:Int = $8A3E
  286. Const GL_UNIFORM_BLOCK_BINDING:Int = $8A3F
  287. Const GL_UNIFORM_BLOCK_DATA_SIZE:Int = $8A40
  288. Const GL_UNIFORM_BLOCK_NAME_LENGTH:Int = $8A41
  289. Const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS:Int = $8A42
  290. Const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:Int = $8A43
  291. Const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:Int = $8A44
  292. Const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:Int = $8A46
  293. Const GL_INVALID_INDEX:UInt = $FFFFFFFF
  294. Const GL_MAX_VERTEX_OUTPUT_COMPONENTS:Int = $9122
  295. Const GL_MAX_FRAGMENT_INPUT_COMPONENTS:Int = $9125
  296. Const GL_MAX_SERVER_WAIT_TIMEOUT:Int = $9111
  297. Const GL_OBJECT_TYPE:Int = $9112
  298. Const GL_SYNC_CONDITION:Int = $9113
  299. Const GL_SYNC_STATUS:Int = $9114
  300. Const GL_SYNC_FLAGS:Int = $9115
  301. Const GL_SYNC_FENCE:Int = $9116
  302. Const GL_SYNC_GPU_COMMANDS_COMPLETE:Int = $9117
  303. Const GL_UNSIGNALED:Int = $9118
  304. Const GL_SIGNALED:Int = $9119
  305. Const GL_ALREADY_SIGNALED:Int = $911A
  306. Const GL_TIMEOUT_EXPIRED:Int = $911B
  307. Const GL_CONDITION_SATISFIED:Int = $911C
  308. Const GL_WAIT_FAILED:Int = $911D
  309. Const GL_SYNC_FLUSH_COMMANDS_BIT:Int = $00000001
  310. Const GL_TIMEOUT_IGNORED:ULong = $FFFFFFFFFFFFFFF
  311. Const GL_VERTEX_ATTRIB_ARRAY_DIVISOR:Int = $88FE
  312. Const GL_ANY_SAMPLES_PASSED:Int = $8C2F
  313. Const GL_ANY_SAMPLES_PASSED_CONSERVATIVE:Int = $8D6A
  314. Const GL_SAMPLER_BINDING:Int = $8919
  315. Const GL_RGB10_A2UI:Int = $906F
  316. Const GL_TEXTURE_SWIZZLE_R:Int = $8E42
  317. Const GL_TEXTURE_SWIZZLE_G:Int = $8E43
  318. Const GL_TEXTURE_SWIZZLE_B:Int = $8E44
  319. Const GL_TEXTURE_SWIZZLE_A:Int = $8E45
  320. Const GL_GREEN:Int = $1904
  321. Const GL_BLUE:Int = $1905
  322. Const GL_INT_2_10_10_10_REV:Int = $8D9F
  323. Const GL_TRANSFORM_FEEDBACK:Int = $8E22
  324. Const GL_TRANSFORM_FEEDBACK_PAUSED:Int = $8E23
  325. Const GL_TRANSFORM_FEEDBACK_ACTIVE:Int = $8E24
  326. Const GL_TRANSFORM_FEEDBACK_BINDING:Int = $8E25
  327. Const GL_PROGRAM_BINARY_RETRIEVABLE_HINT:Int = $8257
  328. Const GL_PROGRAM_BINARY_LENGTH:Int = $8741
  329. Const GL_NUM_PROGRAM_BINARY_FORMATS:Int = $87FE
  330. Const GL_PROGRAM_BINARY_FORMATS:Int = $87FF
  331. Const GL_COMPRESSED_R11_EAC:Int = $9270
  332. Const GL_COMPRESSED_SIGNED_R11_EAC:Int = $9271
  333. Const GL_COMPRESSED_RG11_EAC:Int = $9272
  334. Const GL_COMPRESSED_SIGNED_RG11_EAC:Int = $9273
  335. Const GL_COMPRESSED_RGB8_ETC2:Int = $9274
  336. Const GL_COMPRESSED_SRGB8_ETC2:Int = $9275
  337. Const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:Int = $9276
  338. Const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:Int = $9277
  339. Const GL_COMPRESSED_RGBA8_ETC2_EAC:Int = $9278
  340. Const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:Int = $9279
  341. Const GL_TEXTURE_IMMUTABLE_FORMAT:Int = $912F
  342. Const GL_MAX_ELEMENT_INDEX:Int = $8D6B
  343. Const GL_NUM_SAMPLE_COUNTS:Int = $9380
  344. Const GL_TEXTURE_IMMUTABLE_LEVELS:Int = $82DF
  345. Function glReadBuffer(src_:UInt)
  346. Function glDrawRangeElements(mode_:UInt, start_:UInt, end_:UInt, count_:Int, type_:UInt, indices_:Byte Ptr)
  347. Function glTexImage3D(target_:UInt, level_:Int, internalformat_:Int, width_:Int, height_:Int, depth_:Int, border_:Int, format_:UInt, type_:UInt, pixels_:Byte Ptr)
  348. Function glTexSubImage3D(target_:UInt, level_:Int, xoffset_:Int, yoffset_:Int, zoffset_:Int, width_:Int, height_:Int, depth_:Int, format_:UInt, type_:UInt, pixels_:Byte Ptr)
  349. Function glCopyTexSubImage3D(target_:UInt, level_:Int, xoffset_:Int, yoffset_:Int, zoffset_:Int, x_:Int, y_:Int, width_:Int, height_:Int)
  350. Function glCompressedTexImage3D(target_:UInt, level_:Int, internalformat_:UInt, width_:Int, height_:Int, depth_:Int, border_:Int, imageSize_:Int, data_:Byte Ptr)
  351. Function glCompressedTexSubImage3D(target_:UInt, level_:Int, xoffset_:Int, yoffset_:Int, zoffset_:Int, width_:Int, height_:Int, depth_:Int, format_:UInt, imageSize_:Int, data_:Byte Ptr)
  352. Function glGenQueries(n_:Int, ids_:UInt Ptr)
  353. Function glDeleteQueries(n_:Int, ids_:UInt Ptr)
  354. Function glIsQuery:Int(id_:UInt)
  355. Function glBeginQuery(target_:UInt, id_:UInt)
  356. Function glEndQuery(target_:UInt)
  357. Function glGetQueryiv(target_:UInt, pname_:UInt, params_:Int Ptr)
  358. Function glGetQueryObjectuiv(id_:UInt, pname_:UInt, params_:UInt Ptr)
  359. Function glUnmapBuffer:Int(target_:UInt)
  360. Function glGetBufferPointerv(target_:UInt, pname_:UInt, params_:Byte Ptr Ptr)
  361. Function glDrawBuffers(n_:Int, bufs_:UInt Ptr)
  362. Function glUniformMatrix2x3fv(location_:Int, count_:Int, transpose_:Byte, value_:Float Ptr)
  363. Function glUniformMatrix3x2fv(location_:Int, count_:Int, transpose_:Byte, value_:Float Ptr)
  364. Function glUniformMatrix2x4fv(location_:Int, count_:Int, transpose_:Byte, value_:Float Ptr)
  365. Function glUniformMatrix4x2fv(location_:Int, count_:Int, transpose_:Byte, value_:Float Ptr)
  366. Function glUniformMatrix3x4fv(location_:Int, count_:Int, transpose_:Byte, value_:Float Ptr)
  367. Function glUniformMatrix4x3fv(location_:Int, count_:Int, transpose_:Byte, value_:Float Ptr)
  368. Function glBlitFramebuffer(srcX0_:Int, srcY0_:Int, srcX1_:Int, srcY1_:Int, dstX0_:Int, dstY0_:Int, dstX1_:Int, dstY1_:Int, mask_:UInt, filter_:UInt)
  369. Function glRenderbufferStorageMultisample(target_:UInt, samples_:Int, internalformat_:UInt, width_:Int, height_:Int)
  370. Function glFramebufferTextureLayer(target_:UInt, attachment_:UInt, texture_:UInt, level_:Int, layer_:Int)
  371. Function glMapBufferRange:Byte Ptr(target_:UInt, offset:Int Ptr, length:Int Ptr, access_:UInt)
  372. Function glFlushMappedBufferRange(target_:UInt, offset:Int Ptr, length:Int Ptr)
  373. Function glBindVertexArray(array_:UInt)
  374. Function glDeleteVertexArrays(n_:Int, arrays_:UInt Ptr)
  375. Function glGenVertexArrays(n_:Int, arrays_:UInt Ptr)
  376. Function glIsVertexArray:Int(array_:UInt)
  377. Function glGetIntegeri_v(target_:UInt, index_:UInt, data_:Int Ptr)
  378. Function glBeginTransformFeedback(primitiveMode_:UInt)
  379. Function glEndTransformFeedback()
  380. Function glBindBufferRange(target_:UInt, index_:UInt, buffer_:UInt, offset:Int Ptr, size:Int Ptr)
  381. Function glBindBufferBase(target_:UInt, index_:UInt, buffer_:UInt)
  382. Function glTransformFeedbackVaryings(program_:UInt, count_:Int, varyings_:Byte Ptr Ptr, bufferMode_:UInt)
  383. Function glGetTransformFeedbackVarying(program_:UInt, index_:UInt, bufSize_:Int, length_:Int Ptr, size_:Int Ptr, type_:UInt Ptr, name_:Byte Ptr)
  384. Function glVertexAttribIPointer(index_:UInt, size_:Int, type_:UInt, stride_:Int, pointer_:Byte Ptr)
  385. Function glGetVertexAttribIiv(index_:UInt, pname_:UInt, params_:Int Ptr)
  386. Function glGetVertexAttribIuiv(index_:UInt, pname_:UInt, params_:UInt Ptr)
  387. Function glVertexAttribI4i(index_:UInt, x_:Int, y_:Int, z_:Int, w_:Int)
  388. Function glVertexAttribI4ui(index_:UInt, x_:UInt, y_:UInt, z_:UInt, w_:UInt)
  389. Function glVertexAttribI4iv(index_:UInt, v_:Int Ptr)
  390. Function glVertexAttribI4uiv(index_:UInt, v_:UInt Ptr)
  391. Function glGetUniformuiv(program_:UInt, location_:Int, params_:UInt Ptr)
  392. Function glGetFragDataLocation_:Int(program_:UInt, name:Byte Ptr)
  393. Function glUniform1ui(location_:Int, v0_:UInt)
  394. Function glUniform2ui(location_:Int, v0_:UInt, v1_:UInt)
  395. Function glUniform3ui(location_:Int, v0_:UInt, v1_:UInt, v2_:UInt)
  396. Function glUniform4ui(location_:Int, v0_:UInt, v1_:UInt, v2_:UInt, v3_:UInt)
  397. Function glUniform1uiv(location_:Int, count_:Int, value_:UInt Ptr)
  398. Function glUniform2uiv(location_:Int, count_:Int, value_:UInt Ptr)
  399. Function glUniform3uiv(location_:Int, count_:Int, value_:UInt Ptr)
  400. Function glUniform4uiv(location_:Int, count_:Int, value_:UInt Ptr)
  401. Function glClearBufferiv(buffer_:UInt, drawbuffer_:Int, value_:Int Ptr)
  402. Function glClearBufferuiv(buffer_:UInt, drawbuffer_:Int, value_:UInt Ptr)
  403. Function glClearBufferfv(buffer_:UInt, drawbuffer_:Int, value_:Float Ptr)
  404. Function glClearBufferfi(buffer_:UInt, drawbuffer_:Int, depth:Float, stencil_:Int)
  405. Function glGetStringi(name_:UInt, index_:UInt)
  406. Function glCopyBufferSubData(readTarget_:UInt, writeTarget_:UInt, readOffset_:Int Ptr, writeOffset_:Int Ptr, size_:Int Ptr)
  407. Function glGetUniformIndices(program_:UInt, uniformCount_:Int, uniformNames_:Byte Ptr Ptr, uniformIndices_:UInt Ptr)
  408. Function glGetActiveUniformsiv(program_:UInt, uniformCount_:Int, uniformIndices_:UInt Ptr, pname_:UInt, params_:Int Ptr)
  409. Function glGetUniformBlockIndex_:UInt(program_:UInt, uniformBlockName:Byte Ptr)
  410. Function glGetActiveUniformBlockiv(program_:UInt, uniformBlockIndex_:UInt, pname_:UInt, params_:Int Ptr)
  411. Function glGetActiveUniformBlockName(program_:UInt, uniformBlockIndex_:UInt, bufSize_:Int, length_:Int Ptr, uniformBlockName_:Byte Ptr)
  412. Function glUniformBlockBinding(program_:UInt, uniformBlockIndex_:UInt, uniformBlockBinding_:UInt)
  413. Function glDrawArraysInstanced(mode_:UInt, first_:Int, count_:Int, instancecount_:Int)
  414. Function glDrawElementsInstanced(mode_:UInt, count_:Int, type_:UInt, indices_:Byte Ptr, instancecount_:Int)
  415. Function glFenceSync:Byte Ptr(condition_:UInt, flags_:UInt)
  416. Function glIsSync:Byte(sync_:Byte Ptr)
  417. Function glDeleteSync(sync_:Byte Ptr)
  418. Function glClientWaitSync_:UInt(sync_:Byte Ptr, flags_:UInt, Utimeout_:Long)
  419. Function glWaitSync(sync_:Byte Ptr, flags_:UInt, Utimeout_:Long)
  420. Function glGetInteger64v(pname_:UInt, data_:Long Ptr)
  421. Function glGetSynciv(sync_:Byte Ptr, pname_:UInt, count_:Int, length_:Int Ptr, values_:Int Ptr)
  422. Function glGetInteger64i_v(target_:UInt, index_:UInt, data_:Long Ptr)
  423. Function glGetBufferParameteri64v(target_:UInt, pname_:UInt, params_:Long Ptr)
  424. Function glGenSamplers(count_:Int, samplers_:UInt Ptr)
  425. Function glDeleteSamplers(count_:Int, samplers_:UInt Ptr)
  426. Function glIsSampler:Byte(sampler_:UInt)
  427. Function glBindSampler(unit_:UInt, sampler_:UInt)
  428. Function glSamplerParameteri(sampler_:UInt, pname_:UInt, param_:Int)
  429. Function glSamplerParameteriv(sampler_:UInt, pname_:UInt, param_:Int Ptr)
  430. Function glSamplerParameterf(sampler_:UInt, pname_:UInt, param:Float)
  431. Function glSamplerParameterfv(sampler_:UInt, pname_:UInt, param_:Float Ptr)
  432. Function glGetSamplerParameteriv(sampler_:UInt, pname_:UInt, params_:Int Ptr)
  433. Function glGetSamplerParameterfv(sampler_:UInt, pname_:UInt, params_:Float Ptr)
  434. Function glVertexAttribDivisor(index_:UInt, divisor_:UInt)
  435. Function glBindTransformFeedback(target_:UInt, id_:UInt)
  436. Function glDeleteTransformFeedbacks(n_:Int, ids_:UInt Ptr)
  437. Function glGenTransformFeedbacks(n_:Int, ids_:UInt Ptr)
  438. Function glIsTransformFeedback:Byte(id_:UInt)
  439. Function glPauseTransformFeedback()
  440. Function glResumeTransformFeedback()
  441. Function glGetProgramBinary(program_:UInt, bufSize_:Int, length_:Int Ptr, binaryFormat_:UInt Ptr, binary_:Byte Ptr)
  442. Function glProgramBinary(program_:UInt, binaryFormat_:UInt, binary_:Byte Ptr, length_:Int)
  443. Function glProgramParameteri(program_:UInt, pname_:UInt, value_:Int)
  444. Function glInvalidateFramebuffer(target_:UInt, numAttachments_:Int, attachments_:UInt Ptr)
  445. Function glInvalidateSubFramebuffer(target_:UInt, numAttachments_:Int, attachments_:UInt Ptr, x_:Int, y_:Int, width_:Int, height_:Int)
  446. Function glTexStorage2D(target_:UInt, levels_:Int, internalformat_:UInt, width_:Int, height_:Int)
  447. Function glTexStorage3D(target_:UInt, levels_:Int, internalformat_:UInt, width_:Int, height_:Int, depth_:Int)
  448. Function glGetInternalformativ(target_:UInt, internalformat_:UInt, pname_:UInt, count_:Int, params_:Int Ptr)
  449. End Extern