PageRenderTime 75ms CodeModel.GetById 42ms RepoModel.GetById 0ms app.codeStats 1ms

/LWJGL/src/templates/org/lwjgl/opengl/GL30.java

http://github.com/prog694/VIRSYSJ
Java | 1049 lines | 470 code | 210 blank | 369 comment | 0 complexity | 02aeb5aafdfac3bb86e944d6af55e019 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. /*
  2. * Copyright (c) 2002-2008 LWJGL Project
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are
  7. * met:
  8. *
  9. * * Redistributions of source code must retain the above copyright
  10. * notice, this list of conditions and the following disclaimer.
  11. *
  12. * * Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. *
  16. * * Neither the name of 'LWJGL' nor the names of
  17. * its contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  22. * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  23. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  24. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  25. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  26. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  27. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  28. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  29. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  30. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. */
  32. package org.lwjgl.opengl;
  33. import org.lwjgl.util.generator.*;
  34. import org.lwjgl.util.generator.Alternate;
  35. import org.lwjgl.util.generator.opengl.*;
  36. import java.nio.*;
  37. public interface GL30 {
  38. // ----------------------------------------------------------
  39. // ----------------------[ OpenGL 3.0 ]----------------------
  40. // ----------------------------------------------------------
  41. int GL_MAJOR_VERSION = 0x821B;
  42. int GL_MINOR_VERSION = 0x821C;
  43. int GL_NUM_EXTENSIONS = 0x821D;
  44. int GL_CONTEXT_FLAGS = 0x821E;
  45. int GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001;
  46. int GL_DEPTH_BUFFER = 0x8223;
  47. int GL_STENCIL_BUFFER = 0x8224;
  48. int GL_COMPRESSED_RED = 0x8225;
  49. int GL_COMPRESSED_RG = 0x8226;
  50. int GL_COMPARE_REF_TO_TEXTURE = ARB_shadow.GL_COMPARE_R_TO_TEXTURE_ARB;
  51. int GL_CLIP_DISTANCE0 = GL11.GL_CLIP_PLANE0;
  52. int GL_CLIP_DISTANCE1 = GL11.GL_CLIP_PLANE1;
  53. int GL_CLIP_DISTANCE2 = GL11.GL_CLIP_PLANE2;
  54. int GL_CLIP_DISTANCE3 = GL11.GL_CLIP_PLANE3;
  55. int GL_CLIP_DISTANCE4 = GL11.GL_CLIP_PLANE4;
  56. int GL_CLIP_DISTANCE5 = GL11.GL_CLIP_PLANE5;
  57. int GL_CLIP_DISTANCE6 = 0x3006;
  58. int GL_CLIP_DISTANCE7 = 0x3007;
  59. int GL_MAX_CLIP_DISTANCES = GL11.GL_MAX_CLIP_PLANES;
  60. int GL_MAX_VARYING_COMPONENTS = GL20.GL_MAX_VARYING_FLOATS;
  61. int GL_BUFFER_ACCESS_FLAGS = 0x911F;
  62. int GL_BUFFER_MAP_LENGTH = 0x9120;
  63. int GL_BUFFER_MAP_OFFSET = 0x9121;
  64. String glGetStringi(@GLenum int name, @GLuint int index);
  65. @StripPostfix("value")
  66. void glClearBufferfv(@GLenum int buffer, int drawbuffer, @Const @Check("4") FloatBuffer value);
  67. @StripPostfix("value")
  68. void glClearBufferiv(@GLenum int buffer, int drawbuffer, @Const @Check("4") IntBuffer value);
  69. @StripPostfix("value")
  70. void glClearBufferuiv(@GLenum int buffer, int drawbuffer, @Const @Check("4") IntBuffer value);
  71. void glClearBufferfi(@GLenum int buffer, int drawbuffer, float depth, int stencil);
  72. // ---------------------------------------------------------------
  73. // ----------------------[ EXT_gpu_shader4 ]----------------------
  74. // ---------------------------------------------------------------
  75. /**
  76. * Accepted by the <pname> parameters of GetVertexAttribdv,
  77. * GetVertexAttribfv, GetVertexAttribiv, GetVertexAttribIiv, and
  78. * GetVertexAttribIuiv:
  79. */
  80. int GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
  81. /** Returned by the <type> parameter of GetActiveUniform: */
  82. int GL_SAMPLER_BUFFER = 0x8DC2;
  83. int GL_SAMPLER_CUBE_SHADOW = 0x8DC5;
  84. int GL_UNSIGNED_INT_VEC2 = 0x8DC6;
  85. int GL_UNSIGNED_INT_VEC3 = 0x8DC7;
  86. int GL_UNSIGNED_INT_VEC4 = 0x8DC8;
  87. int GL_INT_SAMPLER_1D = 0x8DC9;
  88. int GL_INT_SAMPLER_2D = 0x8DCA;
  89. int GL_INT_SAMPLER_3D = 0x8DCB;
  90. int GL_INT_SAMPLER_CUBE = 0x8DCC;
  91. int GL_INT_SAMPLER_2D_RECT = 0x8DCD;
  92. int GL_INT_SAMPLER_1D_ARRAY = 0x8DCE;
  93. int GL_INT_SAMPLER_2D_ARRAY = 0x8DCF;
  94. int GL_INT_SAMPLER_BUFFER = 0x8DD0;
  95. int GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1;
  96. int GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
  97. int GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
  98. int GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
  99. int GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5;
  100. int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6;
  101. int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
  102. int GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8;
  103. /**
  104. * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
  105. * and GetDoublev:
  106. */
  107. int GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
  108. int GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
  109. @NoErrorCheck
  110. void glVertexAttribI1i(@GLuint int index, int x);
  111. @NoErrorCheck
  112. void glVertexAttribI2i(@GLuint int index, int x, int y);
  113. @NoErrorCheck
  114. void glVertexAttribI3i(@GLuint int index, int x, int y, int z);
  115. @NoErrorCheck
  116. void glVertexAttribI4i(@GLuint int index, int x, int y, int z, int w);
  117. @NoErrorCheck
  118. void glVertexAttribI1ui(@GLuint int index, @GLuint int x);
  119. @NoErrorCheck
  120. void glVertexAttribI2ui(@GLuint int index, @GLuint int x, @GLuint int y);
  121. @NoErrorCheck
  122. void glVertexAttribI3ui(@GLuint int index, @GLuint int x, @GLuint int y, @GLuint int z);
  123. @NoErrorCheck
  124. void glVertexAttribI4ui(@GLuint int index, @GLuint int x, @GLuint int y, @GLuint int z, @GLuint int w);
  125. @NoErrorCheck
  126. @StripPostfix("v")
  127. void glVertexAttribI1iv(@GLuint int index, @Check("1") @Const IntBuffer v);
  128. @NoErrorCheck
  129. @StripPostfix("v")
  130. void glVertexAttribI2iv(@GLuint int index, @Check("2") @Const IntBuffer v);
  131. @NoErrorCheck
  132. @StripPostfix("v")
  133. void glVertexAttribI3iv(@GLuint int index, @Check("3") @Const IntBuffer v);
  134. @NoErrorCheck
  135. @StripPostfix("v")
  136. void glVertexAttribI4iv(@GLuint int index, @Check("4") @Const IntBuffer v);
  137. @NoErrorCheck
  138. @StripPostfix("v")
  139. void glVertexAttribI1uiv(@GLuint int index, @Check("1") @Const @GLuint IntBuffer v);
  140. @NoErrorCheck
  141. @StripPostfix("v")
  142. void glVertexAttribI2uiv(@GLuint int index, @Check("2") @Const @GLuint IntBuffer v);
  143. @NoErrorCheck
  144. @StripPostfix("v")
  145. void glVertexAttribI3uiv(@GLuint int index, @Check("3") @Const @GLuint IntBuffer v);
  146. @NoErrorCheck
  147. @StripPostfix("v")
  148. void glVertexAttribI4uiv(@GLuint int index, @Check("4") @Const @GLuint IntBuffer v);
  149. @NoErrorCheck
  150. @StripPostfix("v")
  151. void glVertexAttribI4bv(@GLuint int index, @Check("4") @Const ByteBuffer v);
  152. @NoErrorCheck
  153. @StripPostfix("v")
  154. void glVertexAttribI4sv(@GLuint int index, @Check("4") @Const ShortBuffer v);
  155. @NoErrorCheck
  156. @StripPostfix("v")
  157. void glVertexAttribI4ubv(@GLuint int index, @Check("4") @Const @GLubyte ByteBuffer v);
  158. @NoErrorCheck
  159. @StripPostfix("v")
  160. void glVertexAttribI4usv(@GLuint int index, @Check("4") @Const @GLushort ShortBuffer v);
  161. void glVertexAttribIPointer(@GLuint int index, int size, @GLenum int type, @GLsizei int stride,
  162. @CachedReference
  163. @BufferObject(BufferKind.ArrayVBO)
  164. @Check
  165. @Const
  166. @GLbyte
  167. @GLubyte
  168. @GLshort
  169. @GLushort
  170. @GLint
  171. @GLuint Buffer buffer);
  172. @StripPostfix("params")
  173. void glGetVertexAttribIiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
  174. @StripPostfix("params")
  175. void glGetVertexAttribIuiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") @GLuint IntBuffer params);
  176. void glUniform1ui(int location, @GLuint int v0);
  177. void glUniform2ui(int location, @GLuint int v0, @GLuint int v1);
  178. void glUniform3ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2);
  179. void glUniform4ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2, @GLuint int v3);
  180. @StripPostfix("value")
  181. void glUniform1uiv(int location, @AutoSize("value") @GLsizei int count, @Const @GLuint IntBuffer value);
  182. @StripPostfix("value")
  183. void glUniform2uiv(int location, @AutoSize(value = "value", expression = " >> 1") @GLsizei int count, @Const @GLuint IntBuffer value);
  184. @StripPostfix("value")
  185. void glUniform3uiv(int location, @AutoSize(value = "value", expression = " / 3") @GLsizei int count, @Const @GLuint IntBuffer value);
  186. @StripPostfix("value")
  187. void glUniform4uiv(int location, @AutoSize(value = "value", expression = " >> 2") @GLsizei int count, @Const @GLuint IntBuffer value);
  188. @StripPostfix("params")
  189. void glGetUniformuiv(@GLuint int program, int location, @OutParameter @Check @GLuint IntBuffer params);
  190. void glBindFragDataLocation(@GLuint int program, @GLuint int colorNumber, @NullTerminated @Const @GLchar ByteBuffer name);
  191. @Alternate("glBindFragDataLocation")
  192. void glBindFragDataLocation(@GLuint int program, @GLuint int colorNumber, @NullTerminated CharSequence name);
  193. int glGetFragDataLocation(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
  194. @Alternate("glGetFragDataLocation")
  195. int glGetFragDataLocation(@GLuint int program, @NullTerminated CharSequence name);
  196. // ---------------------------------------------------------------------
  197. // ----------------------[ NV_conditional_render ]----------------------
  198. // ---------------------------------------------------------------------
  199. /** Accepted by the <mode> parameter of BeginConditionalRender: */
  200. int GL_QUERY_WAIT = 0x8E13;
  201. int GL_QUERY_NO_WAIT = 0x8E14;
  202. int GL_QUERY_BY_REGION_WAIT = 0x8E15;
  203. int GL_QUERY_BY_REGION_NO_WAIT = 0x8E16;
  204. void glBeginConditionalRender(@GLuint int id, @GLenum int mode);
  205. void glEndConditionalRender();
  206. // --------------------------------------------------------------------
  207. // ----------------------[ ARB_map_buffer_range ]----------------------
  208. // --------------------------------------------------------------------
  209. /** Accepted by the <access> parameter of MapBufferRange: */
  210. int GL_MAP_READ_BIT = 0x0001;
  211. int GL_MAP_WRITE_BIT = 0x0002;
  212. int GL_MAP_INVALIDATE_RANGE_BIT = 0x0004;
  213. int GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008;
  214. int GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010;
  215. int GL_MAP_UNSYNCHRONIZED_BIT = 0x0020;
  216. /**
  217. * glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
  218. * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
  219. * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
  220. * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:
  221. * <p/>
  222. * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);
  223. * <p/>
  224. * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
  225. *
  226. * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
  227. *
  228. * @return A ByteBuffer representing the mapped buffer memory.
  229. */
  230. @CachedResult(isRange = true)
  231. @GLvoid
  232. @AutoSize("length")
  233. ByteBuffer glMapBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
  234. void glFlushMappedBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length);
  235. // ----------------------------------------------------------------------
  236. // ----------------------[ ARB_color_buffer_float ]----------------------
  237. // ----------------------------------------------------------------------
  238. /**
  239. * Accepted by the &lt;target&gt; parameter of ClampColor and the &lt;pname&gt;
  240. * parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
  241. */
  242. int GL_CLAMP_VERTEX_COLOR = 0x891A;
  243. int GL_CLAMP_FRAGMENT_COLOR = 0x891B;
  244. int GL_CLAMP_READ_COLOR = 0x891C;
  245. /** Accepted by the &lt;clamp&gt; parameter of ClampColor. */
  246. int GL_FIXED_ONLY = 0x891D;
  247. void glClampColor(@GLenum int target, @GLenum int clamp);
  248. // ----------------------------------------------------------------------
  249. // ----------------------[ NV_depth_buffer_float ]----------------------
  250. // ----------------------------------------------------------------------
  251. /**
  252. * Accepted by the &lt;internalformat&gt; parameter of TexImage1D, TexImage2D,
  253. * TexImage3D, CopyTexImage1D, CopyTexImage2D, and RenderbufferStorageEXT,
  254. * and returned in the &lt;data&gt; parameter of GetTexLevelParameter and
  255. * GetRenderbufferParameterivEXT:
  256. */
  257. int GL_DEPTH_COMPONENT32F = 0x8DAB;
  258. int GL_DEPTH32F_STENCIL8 = 0x8DAC;
  259. /**
  260. * Accepted by the &lt;type&gt; parameter of DrawPixels, ReadPixels, TexImage1D,
  261. * TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D, and
  262. * GetTexImage:
  263. */
  264. int GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
  265. // -----------------------------------------------------------------
  266. // ----------------------[ ARB_texture_float ]----------------------
  267. // -----------------------------------------------------------------
  268. /** Accepted by the &lt;value&gt; parameter of GetTexLevelParameter: */
  269. int GL_TEXTURE_RED_TYPE = 0x8C10;
  270. int GL_TEXTURE_GREEN_TYPE = 0x8C11;
  271. int GL_TEXTURE_BLUE_TYPE = 0x8C12;
  272. int GL_TEXTURE_ALPHA_TYPE = 0x8C13;
  273. int GL_TEXTURE_LUMINANCE_TYPE = 0x8C14;
  274. int GL_TEXTURE_INTENSITY_TYPE = 0x8C15;
  275. int GL_TEXTURE_DEPTH_TYPE = 0x8C16;
  276. /** Returned by the &lt;params&gt; parameter of GetTexLevelParameter: */
  277. int GL_UNSIGNED_NORMALIZED = 0x8C17;
  278. /**
  279. * Accepted by the &lt;internalFormat&gt; parameter of TexImage1D,
  280. * TexImage2D, and TexImage3D:
  281. */
  282. int GL_RGBA32F = 0x8814;
  283. int GL_RGB32F = 0x8815;
  284. int GL_ALPHA32F = 0x8816;
  285. int GL_RGBA16F = 0x881A;
  286. int GL_RGB16F = 0x881B;
  287. int GL_ALPHA16F = 0x881C;
  288. // ----------------------------------------------------------------
  289. // ----------------------[ EXT_packed_float ]----------------------
  290. // ----------------------------------------------------------------
  291. /**
  292. * Accepted by the &lt;internalformat&gt; parameter of TexImage1D,
  293. * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and
  294. * RenderbufferStorage:
  295. */
  296. int GL_R11F_G11F_B10F = 0x8C3A;
  297. /**
  298. * Accepted by the &lt;type&gt; parameter of DrawPixels, ReadPixels,
  299. * TexImage1D, TexImage2D, GetTexImage, TexImage3D, TexSubImage1D,
  300. * TexSubImage2D, TexSubImage3D, GetHistogram, GetMinmax,
  301. * ConvolutionFilter1D, ConvolutionFilter2D, ConvolutionFilter3D,
  302. * GetConvolutionFilter, SeparableFilter2D, GetSeparableFilter,
  303. * ColorTable, ColorSubTable, and GetColorTable:
  304. */
  305. int GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
  306. // ---------------------------------------------------------------------------
  307. // ----------------------[ EXT_texture_shared_exponent ]----------------------
  308. // ---------------------------------------------------------------------------
  309. /**
  310. * Accepted by the &lt;internalformat&gt; parameter of TexImage1D,
  311. * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and
  312. * RenderbufferStorage:
  313. */
  314. int GL_RGB9_E5 = 0x8C3D;
  315. /**
  316. * Accepted by the &lt;type&gt; parameter of DrawPixels, ReadPixels,
  317. * TexImage1D, TexImage2D, GetTexImage, TexImage3D, TexSubImage1D,
  318. * TexSubImage2D, TexSubImage3D, GetHistogram, GetMinmax,
  319. * ConvolutionFilter1D, ConvolutionFilter2D, ConvolutionFilter3D,
  320. * GetConvolutionFilter, SeparableFilter2D, GetSeparableFilter,
  321. * ColorTable, ColorSubTable, and GetColorTable:
  322. */
  323. int GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
  324. /**
  325. * Accepted by the &lt;pname&gt; parameter of GetTexLevelParameterfv and
  326. * GetTexLevelParameteriv:
  327. */
  328. int GL_TEXTURE_SHARED_SIZE = 0x8C3F;
  329. // ----------------------------------------------------------------------
  330. // ----------------------[ ARB_framebuffer_object ]----------------------
  331. // ----------------------------------------------------------------------
  332. /**
  333. * Accepted by the &lt;target&gt; parameter of BindFramebuffer,
  334. * CheckFramebufferStatus, FramebufferTexture{1D|2D|3D},
  335. * FramebufferRenderbuffer, and
  336. * GetFramebufferAttachmentParameteriv:
  337. */
  338. int GL_FRAMEBUFFER = 0x8D40;
  339. int GL_READ_FRAMEBUFFER = 0x8CA8;
  340. int GL_DRAW_FRAMEBUFFER = 0x8CA9;
  341. /**
  342. * Accepted by the &lt;target&gt; parameter of BindRenderbuffer,
  343. * RenderbufferStorage, and GetRenderbufferParameteriv, and
  344. * returned by GetFramebufferAttachmentParameteriv:
  345. */
  346. int GL_RENDERBUFFER = 0x8D41;
  347. /**
  348. * Accepted by the &lt;internalformat&gt; parameter of
  349. * RenderbufferStorage:
  350. */
  351. int GL_STENCIL_INDEX1 = 0x8D46;
  352. int GL_STENCIL_INDEX4 = 0x8D47;
  353. int GL_STENCIL_INDEX8 = 0x8D48;
  354. int GL_STENCIL_INDEX16 = 0x8D49;
  355. /** Accepted by the &lt;pname&gt; parameter of GetRenderbufferParameteriv: */
  356. int GL_RENDERBUFFER_WIDTH = 0x8D42;
  357. int GL_RENDERBUFFER_HEIGHT = 0x8D43;
  358. int GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
  359. int GL_RENDERBUFFER_RED_SIZE = 0x8D50;
  360. int GL_RENDERBUFFER_GREEN_SIZE = 0x8D51;
  361. int GL_RENDERBUFFER_BLUE_SIZE = 0x8D52;
  362. int GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53;
  363. int GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54;
  364. int GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55;
  365. /**
  366. * Accepted by the &lt;pname&gt; parameter of
  367. * GetFramebufferAttachmentParameteriv:
  368. */
  369. int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
  370. int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
  371. int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
  372. int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
  373. int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
  374. int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
  375. int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
  376. int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
  377. int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
  378. int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
  379. int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
  380. int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
  381. /** Returned in &lt;params&gt; by GetFramebufferAttachmentParameteriv: */
  382. int GL_FRAMEBUFFER_DEFAULT = 0x8218;
  383. int GL_INDEX = 0x8222;
  384. /**
  385. * Accepted by the &lt;attachment&gt; parameter of
  386. * FramebufferTexture{1D|2D|3D}, FramebufferRenderbuffer, and
  387. * GetFramebufferAttachmentParameteriv
  388. */
  389. int GL_COLOR_ATTACHMENT0 = 0x8CE0;
  390. int GL_COLOR_ATTACHMENT1 = 0x8CE1;
  391. int GL_COLOR_ATTACHMENT2 = 0x8CE2;
  392. int GL_COLOR_ATTACHMENT3 = 0x8CE3;
  393. int GL_COLOR_ATTACHMENT4 = 0x8CE4;
  394. int GL_COLOR_ATTACHMENT5 = 0x8CE5;
  395. int GL_COLOR_ATTACHMENT6 = 0x8CE6;
  396. int GL_COLOR_ATTACHMENT7 = 0x8CE7;
  397. int GL_COLOR_ATTACHMENT8 = 0x8CE8;
  398. int GL_COLOR_ATTACHMENT9 = 0x8CE9;
  399. int GL_COLOR_ATTACHMENT10 = 0x8CEA;
  400. int GL_COLOR_ATTACHMENT11 = 0x8CEB;
  401. int GL_COLOR_ATTACHMENT12 = 0x8CEC;
  402. int GL_COLOR_ATTACHMENT13 = 0x8CED;
  403. int GL_COLOR_ATTACHMENT14 = 0x8CEE;
  404. int GL_COLOR_ATTACHMENT15 = 0x8CEF;
  405. int GL_DEPTH_ATTACHMENT = 0x8D00;
  406. int GL_STENCIL_ATTACHMENT = 0x8D20;
  407. int GL_DEPTH_STENCIL_ATTACHMENT = 0x821A;
  408. /** Returned by CheckFramebufferStatus(): */
  409. int GL_FRAMEBUFFER_COMPLETE = 0x8CD5;
  410. int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
  411. int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
  412. int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB;
  413. int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC;
  414. int GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
  415. int GL_FRAMEBUFFER_UNDEFINED = 0x8219;
  416. /**
  417. * Accepted by the &lt;pname&gt; parameters of GetIntegerv, GetFloatv,
  418. * and GetDoublev:
  419. */
  420. int GL_FRAMEBUFFER_BINDING = 0x8CA6; // alias DRAW_FRAMEBUFFER_BINDING
  421. int GL_RENDERBUFFER_BINDING = 0x8CA7;
  422. int GL_MAX_COLOR_ATTACHMENTS = 0x8CDF;
  423. int GL_MAX_RENDERBUFFER_SIZE = 0x84E8;
  424. /** Returned by GetError(): */
  425. int GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506;
  426. boolean glIsRenderbuffer(@GLuint int renderbuffer);
  427. void glBindRenderbuffer(@GLenum int target, @GLuint int renderbuffer);
  428. void glDeleteRenderbuffers(@AutoSize("renderbuffers") int n, @Const @GLuint IntBuffer renderbuffers);
  429. @Alternate("glDeleteRenderbuffers")
  430. void glDeleteRenderbuffers(@Constant("1") int n, @Constant(value = "APIUtil.getInt(caps, renderbuffer)", keepParam = true) int renderbuffer);
  431. void glGenRenderbuffers(@AutoSize("renderbuffers") int n, @OutParameter @GLuint IntBuffer renderbuffers);
  432. @Alternate("glGenRenderbuffers")
  433. @GLreturn("renderbuffers")
  434. void glGenRenderbuffers2(@Constant("1") int n, @OutParameter @GLuint IntBuffer renderbuffers);
  435. void glRenderbufferStorage(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height);
  436. @StripPostfix("params")
  437. void glGetRenderbufferParameteriv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
  438. @Alternate("glGetRenderbufferParameteriv")
  439. @GLreturn("params")
  440. @StripPostfix("params")
  441. void glGetRenderbufferParameteriv2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
  442. boolean glIsFramebuffer(@GLuint int framebuffer);
  443. void glBindFramebuffer(@GLenum int target, @GLuint int framebuffer);
  444. void glDeleteFramebuffers(@AutoSize("framebuffers") int n, @Const @GLuint IntBuffer framebuffers);
  445. @Alternate("glDeleteFramebuffers")
  446. void glDeleteFramebuffers(@Constant("1") int n, @Constant(value = "APIUtil.getInt(caps, framebuffer)", keepParam = true) int framebuffer);
  447. void glGenFramebuffers(@AutoSize("framebuffers") int n, @OutParameter @GLuint IntBuffer framebuffers);
  448. @Alternate("glGenFramebuffers")
  449. @GLreturn("framebuffers")
  450. void glGenFramebuffers2(@Constant("1") int n, @OutParameter @GLuint IntBuffer framebuffers);
  451. @GLenum
  452. int glCheckFramebufferStatus(@GLenum int target);
  453. void glFramebufferTexture1D(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level);
  454. void glFramebufferTexture2D(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level);
  455. void glFramebufferTexture3D(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level, int zoffset);
  456. void glFramebufferRenderbuffer(@GLenum int target, @GLenum int attachment, @GLenum int renderbuffertarget, @GLuint int renderbuffer);
  457. @StripPostfix("params")
  458. void glGetFramebufferAttachmentParameteriv(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
  459. @Alternate("glGetFramebufferAttachmentParameteriv")
  460. @GLreturn("params")
  461. @StripPostfix("params")
  462. void glGetFramebufferAttachmentParameteriv2(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter IntBuffer params);
  463. void glGenerateMipmap(@GLenum int target);
  464. // --------------------------------------------------------------------------------------------
  465. // ----------------------[ ARB_half_float_vertex & ARB_half_float_pixel ]----------------------
  466. // --------------------------------------------------------------------------------------------
  467. /**
  468. * Accepted by the &lt;type&gt; parameter of DrawPixels, ReadPixels,
  469. * TexImage1D, TexImage2D, TexImage3D, GetTexImage, TexSubImage1D,
  470. * TexSubImage2D, TexSubImage3D, GetHistogram, GetMinmax,
  471. * ConvolutionFilter1D, ConvolutionFilter2D, GetConvolutionFilter,
  472. * SeparableFilter2D, GetSeparableFilter, ColorTable, ColorSubTable,
  473. * and GetColorTable:
  474. * <p/>
  475. * Accepted by the &lt;type&gt; argument of VertexPointer, NormalPointer,
  476. * ColorPointer, SecondaryColorPointer, FogCoordPointer, TexCoordPointer,
  477. * and VertexAttribPointer:
  478. */
  479. int GL_HALF_FLOAT = 0x140B;
  480. // ---------------------------------------------------------------------------
  481. // ----------------------[ EXT_framebuffer_multisample ]----------------------
  482. // ---------------------------------------------------------------------------
  483. /** Accepted by the &lt;pname&gt; parameter of GetRenderbufferParameteriv. */
  484. int GL_RENDERBUFFER_SAMPLES = 0x8CAB;
  485. /** Returned by CheckFramebufferStatus. */
  486. int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
  487. /**
  488. * Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
  489. * GetFloatv, and GetDoublev.
  490. */
  491. int GL_MAX_SAMPLES = 0x8D57;
  492. /**
  493. * Establishes the data storage, format, dimensions, and number of
  494. * samples of a renderbuffer object's image.
  495. */
  496. void glRenderbufferStorageMultisample(
  497. @GLenum int target, @GLsizei int samples,
  498. @GLenum int internalformat,
  499. @GLsizei int width, @GLsizei int height);
  500. // --------------------------------------------------------------------
  501. // ----------------------[ EXT_framebuffer_blit ]----------------------
  502. // --------------------------------------------------------------------
  503. /** Accepted by the &lt;pname&gt; parameters of GetIntegerv, GetFloatv, and GetDoublev. */
  504. int GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6; // alias FRAMEBUFFER_BINDING
  505. int GL_READ_FRAMEBUFFER_BINDING = 0x8CAA;
  506. /**
  507. * Transfers a rectangle of pixel values from one
  508. * region of the read framebuffer to another in the draw framebuffer.
  509. * &lt;mask&gt; is the bitwise OR of a number of values indicating which
  510. * buffers are to be copied. The values are COLOR_BUFFER_BIT,
  511. * DEPTH_BUFFER_BIT, and STENCIL_BUFFER_BIT.
  512. * The pixels corresponding to these buffers are
  513. * copied from the source rectangle, bound by the locations (srcX0,
  514. * srcY0) and (srcX1, srcY1) inclusive, to the destination rectangle,
  515. * bound by the locations (dstX0, dstY0) and (dstX1, dstY1)
  516. * inclusive.
  517. * If the source and destination rectangle dimensions do not match,
  518. * the source image is stretched to fit the destination
  519. * rectangle. &lt;filter&gt; must be LINEAR or NEAREST and specifies the
  520. * method of interpolation to be applied if the image is
  521. * stretched.
  522. */
  523. void glBlitFramebuffer(
  524. @GLint int srcX0, @GLint int srcY0, @GLint int srcX1, @GLint int srcY1,
  525. @GLint int dstX0, @GLint int dstY0, @GLint int dstX1, @GLint int dstY1,
  526. @GLbitfield int mask, @GLenum int filter);
  527. // -------------------------------------------------------------------
  528. // ----------------------[ EXT_texture_integer ]----------------------
  529. // -------------------------------------------------------------------
  530. /**
  531. * Accepted by the &lt;pname&gt; parameters of GetBooleanv, GetIntegerv,
  532. * GetFloatv, and GetDoublev:
  533. */
  534. int GL_RGBA_INTEGER_MODE = 0x8D9E;
  535. /**
  536. * Accepted by the &lt;internalFormat&gt; parameter of TexImage1D,
  537. * TexImage2D, and TexImage3D:
  538. */
  539. int GL_RGBA32UI = 0x8D70;
  540. int GL_RGB32UI = 0x8D71;
  541. int GL_ALPHA32UI = 0x8D72;
  542. int GL_RGBA16UI = 0x8D76;
  543. int GL_RGB16UI = 0x8D77;
  544. int GL_ALPHA16UI = 0x8D78;
  545. int GL_RGBA8UI = 0x8D7C;
  546. int GL_RGB8UI = 0x8D7D;
  547. int GL_ALPHA8UI = 0x8D7E;
  548. int GL_RGBA32I = 0x8D82;
  549. int GL_RGB32I = 0x8D83;
  550. int GL_ALPHA32I = 0x8D84;
  551. int GL_RGBA16I = 0x8D88;
  552. int GL_RGB16I = 0x8D89;
  553. int GL_ALPHA16I = 0x8D8A;
  554. int GL_RGBA8I = 0x8D8E;
  555. int GL_RGB8I = 0x8D8F;
  556. int GL_ALPHA8I = 0x8D90;
  557. /**
  558. * Accepted by the &lt;format&gt; parameter of TexImage1D, TexImage2D,
  559. * TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D,
  560. * DrawPixels and ReadPixels:
  561. */
  562. int GL_RED_INTEGER = 0x8D94;
  563. int GL_GREEN_INTEGER = 0x8D95;
  564. int GL_BLUE_INTEGER = 0x8D96;
  565. int GL_ALPHA_INTEGER = 0x8D97;
  566. int GL_RGB_INTEGER = 0x8D98;
  567. int GL_RGBA_INTEGER = 0x8D99;
  568. int GL_BGR_INTEGER = 0x8D9A;
  569. int GL_BGRA_INTEGER = 0x8D9B;
  570. @StripPostfix("params")
  571. void glTexParameterIiv(@GLenum int target, @GLenum int pname, @Check("4") IntBuffer params);
  572. @Alternate("glTexParameterIiv")
  573. @StripPostfix(value = "param", postfix = "v")
  574. void glTexParameterIiv(@GLenum int target, @GLenum int pname, @Constant(value = "APIUtil.getInt(caps, param)", keepParam = true) int param);
  575. @StripPostfix("params")
  576. void glTexParameterIuiv(@GLenum int target, @GLenum int pname, @Check("4") @GLuint IntBuffer params);
  577. @Alternate("glTexParameterIuiv")
  578. @StripPostfix(value = "param", postfix = "v")
  579. void glTexParameterIuiv(@GLenum int target, @GLenum int pname, @Constant(value = "APIUtil.getInt(caps, param)", keepParam = true) int param);
  580. @StripPostfix("params")
  581. void glGetTexParameterIiv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
  582. @Alternate("glGetTexParameterIiv")
  583. @GLreturn("params")
  584. @StripPostfix(value = "params", postfix = "v")
  585. void glGetTexParameterIiv2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
  586. @StripPostfix("params")
  587. void glGetTexParameterIuiv(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") @GLuint IntBuffer params);
  588. @Alternate("glGetTexParameterIuiv")
  589. @GLreturn("params")
  590. @StripPostfix(value = "params", postfix = "v")
  591. void glGetTexParameterIuiv2(@GLenum int target, @GLenum int pname, @OutParameter @GLuint IntBuffer params);
  592. // -----------------------------------------------------------------
  593. // ----------------------[ EXT_texture_array ]----------------------
  594. // -----------------------------------------------------------------
  595. /**
  596. * Accepted by the &lt;target&gt; parameter of TexParameteri, TexParameteriv,
  597. * TexParameterf, TexParameterfv, and BindTexture:
  598. */
  599. int GL_TEXTURE_1D_ARRAY = 0x8C18;
  600. int GL_TEXTURE_2D_ARRAY = 0x8C1A;
  601. /**
  602. * Accepted by the &lt;target&gt; parameter of TexImage3D, TexSubImage3D,
  603. * CopyTexSubImage3D, CompressedTexImage3D, and CompressedTexSubImage3D:
  604. */
  605. int GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B;
  606. /**
  607. * Accepted by the &lt;target&gt; parameter of TexImage2D, TexSubImage2D,
  608. * CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D, and
  609. * CompressedTexSubImage2D:
  610. */
  611. int GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19;
  612. /**
  613. * Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetDoublev, GetIntegerv
  614. * and GetFloatv:
  615. */
  616. int GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C;
  617. int GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
  618. int GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
  619. /**
  620. * Accepted by the &lt;param&gt; parameter of TexParameterf, TexParameteri,
  621. * TexParameterfv, and TexParameteriv when the &lt;pname&gt; parameter is
  622. * TEXTURE_COMPARE_MODE_ARB:
  623. */
  624. int GL_COMPARE_REF_DEPTH_TO_TEXTURE = 0x884E;
  625. /**
  626. * Accepted by the &lt;pname&gt; parameter of
  627. * GetFramebufferAttachmentParameteriv:
  628. */
  629. int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
  630. /** Returned by the &lt;type&gt; parameter of GetActiveUniform: */
  631. int GL_SAMPLER_1D_ARRAY = 0x8DC0;
  632. int GL_SAMPLER_2D_ARRAY = 0x8DC1;
  633. int GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3;
  634. int GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
  635. void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer);
  636. // ------------------------------------------------------------------------
  637. // ----------------------[ EXT_packed_depth_stencil ]----------------------
  638. // ------------------------------------------------------------------------
  639. /**
  640. * Accepted by the &lt;format&gt; parameter of DrawPixels, ReadPixels,
  641. * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D,
  642. * TexSubImage3D, and GetTexImage, by the &lt;type&gt; parameter of
  643. * CopyPixels, by the &lt;internalformat&gt; parameter of TexImage1D,
  644. * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and
  645. * RenderbufferStorage, and returned in the &lt;data&gt; parameter of
  646. * GetTexLevelParameter and GetRenderbufferParameteriv.
  647. */
  648. int GL_DEPTH_STENCIL = 0x84F9;
  649. /**
  650. * Accepted by the &lt;type&gt; parameter of DrawPixels, ReadPixels,
  651. * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D,
  652. * TexSubImage3D, and GetTexImage.
  653. */
  654. int GL_UNSIGNED_INT_24_8 = 0x84FA;
  655. /**
  656. * Accepted by the &lt;internalformat&gt; parameter of TexImage1D,
  657. * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and
  658. * RenderbufferStorage, and returned in the &lt;data&gt; parameter of
  659. * GetTexLevelParameter and GetRenderbufferParameteriv.
  660. */
  661. int GL_DEPTH24_STENCIL8 = 0x88F0;
  662. /** Accepted by the &lt;value&gt; parameter of GetTexLevelParameter. */
  663. int GL_TEXTURE_STENCIL_SIZE = 0x88F1;
  664. // -----------------------------------------------------------------
  665. // ----------------------[ EXT_draw_buffers2 ]----------------------
  666. // -----------------------------------------------------------------
  667. void glColorMaski(@GLuint int buf, boolean r, boolean g, boolean b, boolean a);
  668. @StripPostfix(value = "data", hasPostfix = false)
  669. void glGetBooleani_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4") @GLboolean ByteBuffer data);
  670. @Alternate("glGetBooleani_v")
  671. @GLreturn("data")
  672. @StripPostfix(value = "data", hasPostfix = false)
  673. void glGetBooleani_v2(@GLenum int value, @GLuint int index, @OutParameter @GLboolean ByteBuffer data);
  674. @StripPostfix("data")
  675. void glGetIntegeri_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4") IntBuffer data);
  676. @Alternate("glGetIntegeri_v")
  677. @GLreturn("data")
  678. @StripPostfix("data")
  679. void glGetIntegeri_v2(@GLenum int value, @GLuint int index, @OutParameter IntBuffer data);
  680. void glEnablei(@GLenum int target, @GLuint int index);
  681. void glDisablei(@GLenum int target, @GLuint int index);
  682. boolean glIsEnabledi(@GLenum int target, @GLuint int index);
  683. // ----------------------------------------------------------------------------
  684. // ----------------------[ ARB_texture_compression_rgtc ]----------------------
  685. // ----------------------------------------------------------------------------
  686. /**
  687. * Accepted by the &lt;internalformat&gt; parameter of TexImage2D,
  688. * CopyTexImage2D, and CompressedTexImage2D and the &lt;format&gt; parameter
  689. * of CompressedTexSubImage2D:
  690. */
  691. int GL_COMPRESSED_RED_RGTC1 = 0x8DBB;
  692. int GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC;
  693. int GL_COMPRESSED_RED_GREEN_RGTC2 = 0x8DBD;
  694. int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2 = 0x8DBE;
  695. // --------------------------------------------------------------
  696. // ----------------------[ ARB_texture_rg ]----------------------
  697. // --------------------------------------------------------------
  698. /**
  699. * Accepted by the &lt;internalFormat&gt; parameter of TexImage1D, TexImage2D,
  700. * TexImage3D, CopyTexImage1D, and CopyTexImage2D:
  701. */
  702. int GL_R8 = 0x8229;
  703. int GL_R16 = 0x822A;
  704. int GL_RG8 = 0x822B;
  705. int GL_RG16 = 0x822C;
  706. int GL_R16F = 0x822D;
  707. int GL_R32F = 0x822E;
  708. int GL_RG16F = 0x822F;
  709. int GL_RG32F = 0x8230;
  710. int GL_R8I = 0x8231;
  711. int GL_R8UI = 0x8232;
  712. int GL_R16I = 0x8233;
  713. int GL_R16UI = 0x8234;
  714. int GL_R32I = 0x8235;
  715. int GL_R32UI = 0x8236;
  716. int GL_RG8I = 0x8237;
  717. int GL_RG8UI = 0x8238;
  718. int GL_RG16I = 0x8239;
  719. int GL_RG16UI = 0x823A;
  720. int GL_RG32I = 0x823B;
  721. int GL_RG32UI = 0x823C;
  722. /**
  723. * Accepted by the &lt;format&gt; parameter of TexImage3D, TexImage2D,
  724. * TexImage3D, TexSubImage1D, TexSubImage2D, TexSubImage3D,
  725. * DrawPixels and ReadPixels:
  726. */
  727. int GL_RG = 0x8227;
  728. int GL_RG_INTEGER = 0x8228;
  729. /**
  730. * Accepted by the &lt;param&gt; parameter of the TexParameter{if}*
  731. * functions when &lt;pname&gt; is DEPTH_TEXTURE_MODE:
  732. */
  733. int GL_RED = 0x1903;
  734. // ----------------------------------------------------------------------
  735. // ----------------------[ EXT_transform_feedback ]----------------------
  736. // ----------------------------------------------------------------------
  737. /**
  738. * Accepted by the &lt;target&gt; parameters of BindBuffer, BufferData,
  739. * BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData,
  740. * GetBufferPointerv, BindBufferRange, BindBufferOffset and
  741. * BindBufferBase:
  742. */
  743. int GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
  744. /**
  745. * Accepted by the &lt;param&gt; parameter of GetIntegerIndexedv and
  746. * GetBooleanIndexedv:
  747. */
  748. int GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
  749. int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
  750. /**
  751. * Accepted by the &lt;param&gt; parameter of GetIntegerIndexedv and
  752. * GetBooleanIndexedv, and by the &lt;pname&gt; parameter of GetBooleanv,
  753. * GetDoublev, GetIntegerv, and GetFloatv:
  754. */
  755. int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
  756. /** Accepted by the &lt;bufferMode&gt; parameter of TransformFeedbackVaryings: */
  757. int GL_INTERLEAVED_ATTRIBS = 0x8C8C;
  758. int GL_SEPARATE_ATTRIBS = 0x8C8D;
  759. /**
  760. * Accepted by the &lt;target&gt; parameter of BeginQuery, EndQuery, and
  761. * GetQueryiv:
  762. */
  763. int GL_PRIMITIVES_GENERATED = 0x8C87;
  764. int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
  765. /**
  766. * Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled, and by
  767. * the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv, and
  768. * GetDoublev:
  769. */
  770. int GL_RASTERIZER_DISCARD = 0x8C89;
  771. /**
  772. * Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetDoublev, GetIntegerv,
  773. * and GetFloatv:
  774. */
  775. int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
  776. int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
  777. int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
  778. /** Accepted by the &lt;pname&gt; parameter of GetProgramiv: */
  779. int GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
  780. int GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
  781. int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
  782. void glBindBufferRange(@GLenum int target, @GLuint int index, @GLuint int buffer, @GLintptr long offset, @GLsizeiptr long size);
  783. void glBindBufferBase(@GLenum int target, @GLuint int index, @GLuint int buffer);
  784. void glBeginTransformFeedback(@GLenum int primitiveMode);
  785. void glEndTransformFeedback();
  786. void glTransformFeedbackVaryings(@GLuint int program, @GLsizei int count,
  787. @Const @NullTerminated("count") @GLchar @PointerArray("count") ByteBuffer varyings,
  788. @GLenum int bufferMode);
  789. @Alternate("glTransformFeedbackVaryings")
  790. void glTransformFeedbackVaryings(@GLuint int program, @Constant("varyings.length") @GLsizei int count,
  791. @Const @NullTerminated @PointerArray("count") CharSequence[] varyings,
  792. @GLenum int bufferMode);
  793. void glGetTransformFeedbackVarying(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int bufSize,
  794. @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
  795. @OutParameter @GLsizei @Check("1") IntBuffer size,
  796. @OutParameter @GLenum @Check("1") IntBuffer type,
  797. @OutParameter @GLchar ByteBuffer name);
  798. @Alternate("glGetTransformFeedbackVarying")
  799. @GLreturn(value = "name", maxLength = "bufSize")
  800. void glGetTransformFeedbackVarying2(@GLuint int program, @GLuint int index, @GLsizei int bufSize,
  801. @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(name_length)") IntBuffer length,
  802. @OutParameter @GLsizei @Check("1") IntBuffer size,
  803. @OutParameter @GLenum @Check("1") IntBuffer type,
  804. @OutParameter @GLchar ByteBuffer name);
  805. // -----------------------------------------------------------------------
  806. // ----------------------[ ARB_vertex_array_object ]----------------------
  807. // -----------------------------------------------------------------------
  808. /**
  809. * Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
  810. * GetFloatv, and GetDoublev:
  811. */
  812. int GL_VERTEX_ARRAY_BINDING = 0x85B5;
  813. @Code(" StateTracker.bindVAO(caps, array);")
  814. void glBindVertexArray(@GLuint int array);
  815. @Code(" StateTracker.deleteVAO(caps, arrays);")
  816. void glDeleteVertexArrays(@AutoSize("arrays") @GLsizei int n, @Const @GLuint IntBuffer arrays);
  817. @Alternate("glDeleteVertexArrays")
  818. @Code(" StateTracker.deleteVAO(caps, array);")
  819. void glDeleteVertexArrays(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(caps, array)", keepParam = true) int array);
  820. void glGenVertexArrays(@AutoSize("arrays") @GLsizei int n, @OutParameter @GLuint IntBuffer arrays);
  821. @Alternate("glGenVertexArrays")
  822. @GLreturn("arrays")
  823. void glGenVertexArrays2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer arrays);
  824. boolean glIsVertexArray(@GLuint int array);
  825. // --------------------------------------------------------------------
  826. // ----------------------[ ARB_framebuffer_sRGB ]----------------------
  827. // --------------------------------------------------------------------
  828. /**
  829. * Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled,
  830. * and by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv,
  831. * and GetDoublev:
  832. */
  833. int GL_FRAMEBUFFER_SRGB = 0x8DB9;
  834. /**
  835. * Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
  836. * GetFloatv, and GetDoublev:
  837. */
  838. int GL_FRAMEBUFFER_SRGB_CAPABLE = 0x8DBA;
  839. }