using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Graphics
{
public partial class gl
{
///
/// glDrawRangeElements — render primitives from array data
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Specifies the minimum array index contained in indices.
///
///
/// Specifies the maximum array index contained in indices.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
public static void DrawRangeElements(uint mode, uint start, uint end, int count, uint type, IntPtr indices) => build_in.ExtensionFunctionsForCurrent.glDrawRangeElements(mode, start, end, count, type, indices);
///
/// glTexImage3D — specify a three-dimensional texture image
///
///
/// Specifies the target texture.Must be one of GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_2D_ARRAY or GL_PROXY_TEXTURE_2D_ARRAY
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the n-th mipmap reduction image.
///
///
/// Specifies the number of color components in the texture.Must be one of base internal formats given in Table 1,one of the sized internal formats given in Table 2, or oneof the compressed internal formats given in Table 3, below.
///
///
/// Specifies the width of the texture image.All implementations support 3D texture images that are at least 16 texelswide.
///
///
/// Specifies the height of the texture image.All implementations support 3D texture images that are at least 256 texelshigh.
///
///
/// Specifies the depth of the texture image, or the number of layers in a texture array.All implementations support 3D texture images that are at least 256 texelsdeep, and texture arrays that are at least 256 layers deep.
///
///
/// This value must be 0.
///
///
/// Specifies the format of the pixel data.The following symbolic values are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED_INTEGER, GL_RG_INTEGER, GL_RGB_INTEGER, GL_BGR_INTEGER, GL_RGBA_INTEGER, GL_BGRA_INTEGER, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_DEPTH_STENCIL.
///
///
/// Specifies the data type of the pixel data.The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
/// GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
/// GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
///
///
/// Specifies a pointer to the image data in memory.
///
public static void TexImage3D(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
///
/// glTexSubImage3D, glTextureSubImage3D — specify a three-dimensional texture subimage
///
///
/// Specifies the target to which the texture is boundfor glTexSubImage3D.Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texture array.
///
///
/// Specifies a texel offset in the y direction within the texture array.
///
///
/// Specifies a texel offset in the z direction within the texture array.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the depth of the texture subimage.
///
///
/// Specifies the format of the pixel data.The following symbolic values are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_DEPTH_COMPONENT, and GL_STENCIL_INDEX.
///
///
/// Specifies the data type of the pixel data.The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
/// GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
/// GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
///
///
/// Specifies a pointer to the image data in memory.
///
public static void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
///
/// glCopyTexSubImage3D, glCopyTextureSubImage3D — copy a three-dimensional texture subimage
///
///
/// Specifies the target to which the texture object is bound for glCopyTexSubImage3D function. Must be GL_TEXTURE_3D or GL_TEXTURE_2D_ARRAY
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies a texel offset in the z direction within the texturearray.
///
///
/// Specify the window coordinates of the lower left corner of therectangular region of pixels to be copied.
///
///
/// Specify the window coordinates of the lower left corner of therectangular region of pixels to be copied.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
public static void CopyTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) => build_in.ExtensionFunctionsForCurrent.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
///
/// glActiveTexture — select active texture unit
///
///
/// Specifies which texture unit to make active. The numberof texture units is implementation dependent, but mustbe at least 80. texture must beone of GL_TEXTUREi,where i ranges from zero to the valueof
/// GL_MAX_COMBINED_TEXTURE_IMAGE_UNITSminus one. The initial value is GL_TEXTURE0.
///
public static void ActiveTexture(uint texture) => build_in.ExtensionFunctionsForCurrent.glActiveTexture(texture);
///
/// glSampleCoverage — specify multisample coverage parameters
///
///
/// Specify a single floating-point sample coverage value. The value isclamped to the range [0,1].The initial value is 1.0.
///
///
/// Specify a single boolean value representing if the coverage masks should beinverted. GL_TRUE and GL_FALSE are accepted. The initial valueis GL_FALSE.
///
public static void SampleCoverage(float value, bool invert) => build_in.ExtensionFunctionsForCurrent.glSampleCoverage(value, invert);
///
/// glCompressedTexImage3D — specify a three-dimensional texture image in a compressed format
///
///
/// Specifies the target texture.Must be GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_2D_ARRAY or GL_PROXY_TEXTURE_2D_ARRAY.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image
///
///
/// Specifies the format of the compressed image data stored at address data.
///
///
/// Specifies the width of the texture image.All implementations support 3D texture images that are at least 16 texels wide.
///
///
/// Specifies the height of the texture image.All implementations support 3D texture images that are at least 16 texelshigh.
///
///
/// Specifies the depth of the texture image.All implementations support 3D texture images that are at least 16 texelsdeep.
///
///
/// This value must be 0.
///
///
/// Specifies the number of unsigned bytes of image data starting at theaddress specified by data.
///
///
/// Specifies a pointer to the compressed image data in memory.
///
public static void CompressedTexImage3D(uint target, int level, uint internalformat, int width, int height, int depth, int border, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
///
/// glCompressedTexImage2D — specify a two-dimensional texture image in a compressed format.
///
///
/// Specifies the target texture.Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_1D_ARRAY, GL_PROXY_TEXTURE_1D_ARRAY, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
/// GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image.
///
///
///Specifies the format of the compressed image data stored at address data.width
///
///
/// Specifies the width of the texture image.All implementations support 2D texture and cube map texture images that are at least 16384 texels wide.
///
///
/// Specifies the height of the texture image.All implementations support 2D texture and cube map texture images that are at least 16384 texels high.
///
///
/// This value must be 0.
///
///
/// Specifies the number of unsigned bytes of image data starting at theaddress specified by data.
///
///
/// Specifies a pointer to the compressed image data in memory.
///
public static void CompressedTexImage2D(uint target, int level, uint internalformat, int width, int height, int border, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
///
/// glCompressedTexImage1D — specify a one-dimensional texture image in a compressed format
///
///
/// Specifies the target texture.Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image.
///
///
/// Specifies the format of the compressed image data stored at address data.
///
///
/// Specifies the width of the texture image.All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
///
///
/// This value must be 0.
///
///
/// Specifies the number of unsigned bytes of image data starting at the address specified by data.
///
///
/// Specifies a pointer to the compressed image data in memory.
///
public static void CompressedTexImage1D(uint target, int level, uint internalformat, int width, int border, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
///
/// glCompressedTexSubImage3D, glCompressedTextureSubImage3D — specify a three-dimensional texture subimage in a compressed format
///
///
/// Specifies the target to which the texture is bound for glCompressedTexSubImage3D function. Must be GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP_ARRAY.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies a texel offset in the z direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the depth of the texture subimage.
///
///
/// Specifies the format of the compressed image data stored ataddress data.
///
///
/// Specifies the number of unsigned bytes of image data startingat the address specified by data.
///
///
/// Specifies a pointer to the compressed image data inmemory.
///
public static void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
///
/// glCompressedTexSubImage2D, glCompressedTextureSubImage2D — specify a two-dimensional texture subimage in a compressed format
///
///
/// Specifies the target to which the texture is bound for glCompressedTexSubImage2D function. Must be GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X,
/// GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the format of the compressed image data stored ataddress data.
///
///
/// Specifies the number of unsigned bytes of image data startingat the address specified by data.
///
///
/// Specifies a pointer to the compressed image data inmemory.
///
public static void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
///
/// glCompressedTexSubImage1D, glCompressedTextureSubImage1D — specify a one-dimensional texture subimage in a compressedformat
///
///
/// Specifies the target, to which the texture is bound, for glCompressedTexSubImage1D function. Must be GL_TEXTURE_1D.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the format of the compressed image data stored ataddress data.
///
///
/// Specifies the number of unsigned bytes of image data startingat the address specified by data.
///
///
/// Specifies a pointer to the compressed image data inmemory.
///
public static void CompressedTexSubImage1D(uint target, int level, int xoffset, int width, uint format, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
///
/// glGetCompressedTexImage — return a compressed texture image
///
///
/// Specifies the target to which the texture is bound for glGetCompressedTexImage and glGetnCompressedTexImage functions. GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_ARRAY,
/// GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_TEXTURE_RECTANGLE are accepted.
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level. Level n is the n-th mipmap reduction image.
///
///
/// Returns the compressed texture image.
///
public static void GetCompressedTexImage(uint target, int level, IntPtr img) => build_in.ExtensionFunctionsForCurrent.glGetCompressedTexImage(target, level, img);
///
/// glBlendFuncSeparate — specify pixel arithmetic for RGB and alpha components separately
///
///
/// Specifies how the red, green, and blue blending factors are computed.The initial value is GL_ONE.
///
///
/// Specifies how the red, green, and blue destination blending factors arecomputed.The initial value is GL_ZERO.
///
///
/// Specified how the alpha source blending factor is computed.The initial value is GL_ONE.
///
///
/// Specified how the alpha destination blending factor is computed.The initial value is GL_ZERO.
///
public static void BlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha) => build_in.ExtensionFunctionsForCurrent.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
///
/// glMultiDrawArrays — render multiple sets of primitives from array data
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP
/// GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Points to an array of starting indices in the enabled arrays.
///
///
/// Points to an array of the number of indices to be rendered.
///
///
/// Specifies the size of the first and count
///
public static void MultiDrawArrays(uint mode, int[] first, int[] count, int drawcount) => build_in.ExtensionFunctionsForCurrent.glMultiDrawArrays(mode, first, count, drawcount);
///
/// glMultiDrawElements — render multiple sets of primitives by specifying indices of array data elements
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Points to an array of the elements counts.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies the size of the count and indices arrays.
///
public static void MultiDrawElements(uint mode, int[] count, uint type, IntPtr[] indices, int drawcount) => build_in.ExtensionFunctionsForCurrent.glMultiDrawElements(mode, count, type, indices, drawcount);
///
/// glPointParameter — specify point parameters
///
///
/// Specifies a single-valued point parameter. GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGINare accepted.
///
///
/// For glPointParameterf and glPointParameteri, specifies thevalue that pname will be set to.
///
public static void PointParameter(uint pname, float Param) => build_in.ExtensionFunctionsForCurrent.glPointParameterf(pname, Param);
///
/// glPointParameter — specify point parameters
///
///
/// Specifies a single-valued point parameter. GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGINare accepted.
///
///
///For glPointParameterfv and glPointParameteriv, specifies apointer to an array where the value or values to beassigned to pname are stored.
///
public static void PointParameter(uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glPointParameterfv(pname, Params);
///
/// glPointParameter — specify point parameters
///
///
/// Specifies a single-valued point parameter. GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGINare accepted.
///
///
/// For glPointParameterf and glPointParameteri, specifies thevalue that pname will be set to.
///
public static void PointParameter(uint pname, int Param) => build_in.ExtensionFunctionsForCurrent.glPointParameteri(pname, Param);
///
/// glPointParameter — specify point parameters
///
///
/// Specifies a single-valued point parameter. GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGINare accepted.
///
///
///For glPointParameterfv and glPointParameteriv, specifies apointer to an array where the value or values to beassigned to pname are stored.
///
public static void PointParameter(uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glPointParameteriv(pname, Params);
///
/// glBlendColor — set the blend color
///
///
/// specify the components of GL_BLEND_COLOR
///
///
/// specify the components of GL_BLEND_COLOR
///
///
/// specify the components of GL_BLEND_COLOR
///
///
/// specify the components of GL_BLEND_COLOR
///
public static void BlendColor(float red, float green, float blue, float alpha) => build_in.ExtensionFunctionsForCurrent.glBlendColor(red, green, blue, alpha);
///
/// glBlendEquation — specify the equation used for both the RGB blend equation and the Alpha blend equation
///
///
/// specifies how source and destination colors are combined.It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
///
public static void BlendEquation(uint mode) => build_in.ExtensionFunctionsForCurrent.glBlendEquation(mode);
///
/// glGenQueries — generate query object names
///
///
/// Specifies the number of query object names to be generated.
///
///
/// Specifies an array in which the generated query object names are stored.
///
public static void GenQueries(int n, uint[] ids) => build_in.ExtensionFunctionsForCurrent.glGenQueries(n, ids);
///
/// glDeleteQueries — delete named query objects
///
///
/// Specifies the number of query objects to be deleted.
///
///
/// Specifies an array of query objects to be deleted.
///
public static void DeleteQueries(int n, uint[] ids) => build_in.ExtensionFunctionsForCurrent.glDeleteQueries(n, ids);
///
/// glIsQuery — determine if a name corresponds to a query object
///
///
/// Specifies a value that may be the name of a query object.
///
///
/// glIsQuery returns GL_TRUE if id is currently the name of a query object.If id is zero, or is a non-zero value that is not currently thename of a query object, or if an error occurs, glIsQuery returns GL_FALSE.
///
public static bool IsQuery(uint id) => build_in.ExtensionFunctionsForCurrent.glIsQuery(id);
///
/// glBeginQuery — delimit the boundaries of a query object
///
///
/// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery.The symbolic constant must be one of GL_SAMPLES_PASSED,
/// GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE, GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or GL_TIME_ELAPSED.
///
///
/// Specifies the name of a query object.
///
public static void BeginQuery(uint target, uint id) => build_in.ExtensionFunctionsForCurrent.glBeginQuery(target, id);
///
/// glBeginQuery and glEndQuery delimit the boundaries of a query object. If a query object with name id does not yet exist it is created.
///
///
/// Specifies the target type of query object to be concluded. The symbolic constant must be GL_SAMPLES_PASSED.
///
public static void EndQuery(uint target) => build_in.ExtensionFunctionsForCurrent.glEndQuery(target);
///
/// glGetQueryiv — return parameters of a query object target
///
///
/// Specifies a query object target. Must be GL_SAMPLES_PASSED.
///
///
/// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS.
///
///
/// Returns the requested data.
///
public static void GetQuery(uint target, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetQueryiv(target, pname, Params);
///
/// glGetQueryObject — return parameters of a query object
///
///
/// Specifies the name of a query object.
///
///
/// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE
///
///
/// Returns the requested data.
///
public static void GetQueryObject(uint id, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetQueryObjectiv(id, pname, Params);
///
/// glGetQueryObject — return parameters of a query object
///
///
/// Specifies the name of a query object.
///
///
/// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE
///
///
/// Returns the requested data.
///
public static void GetQueryObject(uint id, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetQueryObjectuiv(id, pname, Params);
///
/// glBindBuffer — bind a named buffer object
///
///
/// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
///
///
/// Specifies the name of a buffer object.
///
public static void BindBuffer(uint target, uint buffer) => build_in.ExtensionFunctionsForCurrent.glBindBuffer(target, buffer);
///
/// glDeleteBuffers — delete named buffer objects
///
///
/// Specifies the number of buffer objects to be deleted.
///
///
/// Specifies an array of buffer objects to be deleted.
///
public static void DeleteBuffers(int n, uint[] buffers) => build_in.ExtensionFunctionsForCurrent.glDeleteBuffers(n, buffers);
///
/// glGenBuffers — generate buffer object names
///
///
/// Specifies the number of buffer object names to be generated.
///
///
/// Specifies an array in which the generated buffer object names are stored.
///
public static void GenBuffers(int n, uint[] buffers) => build_in.ExtensionFunctionsForCurrent.glGenBuffers(n, buffers);
///
/// glIsBuffer — determine if a name corresponds to a buffer object
///
///
/// Specifies a value that may be the name of a buffer object.
///
///
/// glIsBuffer returns GL_TRUE if buffer is currently the name of a buffer object.If buffer is zero, or is a non-zero value that is not currently thename of a buffer object, or if an error occurs, glIsBuffer returns GL_FALSE.
///
public static bool IsBuffer(uint buffer) => build_in.ExtensionFunctionsForCurrent.glIsBuffer(buffer);
///
/// glBufferData — creates and initializes a buffer object's data store
///
///
/// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
///
///
/// Specifies the size in bytes of the buffer object's new data store.
///
///
/// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
///
///
/// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
///
public static void BufferData(uint target, int size, IntPtr data, uint usage) => build_in.ExtensionFunctionsForCurrent.glBufferData(target, size, data, usage);
///
/// glBufferSubData — updates a subset of a buffer object's data store
///
///
/// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER
///
///
/// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
///
///
/// Specifies the size in bytes of the data store region being replaced.
///
///
/// Specifies a pointer to the new data that will be copied into the data store.
///
public static void BufferSubData(uint target, int offset, int size, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glBufferSubData(target, offset, size, data);
///
/// glGetBufferSubData, glGetNamedBufferSubData — returns a subset of a buffer object's data store
///
///
/// Specifies the target to which the buffer object is boundfor glGetBufferSubData, which mustbe one of the buffer binding targets in the followingtable:
/// GL_ARRAY_BUFFER ,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER ,GL_COPY_WRITE_BUFFER ,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER,
/// GL_PIXEL_UNPACK_BUFFER ,GL_PIXEL_PACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER >
///
///
/// Specifies the offset into the buffer object's data storefrom which data will be returned, measured in bytes.
///
///
/// Specifies the size in bytes of the data store region being returned.
///
///
/// Specifies a pointer to the location where buffer object data is returned.
///
public static void GetBufferSubData(uint target, int offset, int size, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glGetBufferSubData(target, offset, size, data);
///
/// glMapBuffer, glMapNamedBuffer — map all of a buffer object's data store into the client's address space.
///
///
/// Specifies the target to which the buffer object is boundfor glMapBuffer, which must be oneof the buffer binding targets in the following table:
/// GL_ARRAY_BUFFER ,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER ,GL_COPY_WRITE_BUFFER ,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER,
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the access policy for glMapBuffer and glMapNamedBuffer, indicatingwhether it will be possible to read from, write to, orboth read from and write to the buffer object's mappeddata store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE.
///
public static void MapBuffer(uint target, uint access) => build_in.ExtensionFunctionsForCurrent.glMapBuffer(target, access);
///
/// glUnmapBuffer, glUnmapNamedBuffer — release the mapping of a buffer object's data store into the client's address space
///
///
/// Specifies the target to which the buffer object is boundfor glUnmapBuffer, which must beone of the buffer binding targets in the followingtable:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER, GL_COPY_READ_BUFFER ,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER ,GL_ELEMENT_ARRAY_BUFFER,
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER ,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// glUnmapBuffer returns GL_TRUE unless the data store contents havebecome corrupt during the time the data store was mapped.
/// Insuch situations, GL_FALSE is returned andthe data store contents are undefined. An application mustdetect this rare condition and reinitialize the data store.
///
public static bool UnmapBuffer(uint target) => build_in.ExtensionFunctionsForCurrent.glUnmapBuffer(target);
///
/// glGetBufferParameter — return parameters of a buffer object
///
///
/// Specifies the target to which the buffer object is boundfor glGetBufferParameteriv and glGetBufferParameteri64v. Must beone of the buffer binding targets in the following table:
/// GL_ARRAY_BUFFER ,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER,
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the name of the buffer object parameter toquery.
///
///
/// Returns the requested parameter.
///
public static void GetBufferParameter(uint target, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetBufferParameteriv(target, pname, Params);
///
/// glGetBufferPointerv, glGetNamedBufferPointerv — return the pointer to a mapped buffer object's data store
///
///
/// Specifies the target to which the buffer object is boundfor glGetBufferPointerv, which mustbe one of the buffer binding targets in the followingtable:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER ,
/// GL_PIXEL_PACK_BUFFER ,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the name of the pointer to be returned. Mustbe GL_BUFFER_MAP_POINTER.
///
///
/// Returns the pointer value specified by pname.
///
public static void GetBufferPointer(uint target, uint pname, IntPtr[] Params) => build_in.ExtensionFunctionsForCurrent.glGetBufferPointerv(target, pname, Params);
///
/// glBlendEquationSeparate — set the RGB blend equation and the alpha blend equation separately
///
///
/// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined.It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
///
///
/// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined.It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
///
public static void BlendEquationSeparate(uint modeRGB, uint modeAlpha) => build_in.ExtensionFunctionsForCurrent.glBlendEquationSeparate(modeRGB, modeAlpha);
///
/// glDrawBuffers, glNamedFramebufferDrawBuffers — Specifies a list of color buffers to be drawninto
///
///
/// Specifies the number of buffers in bufs.
///
///
/// Points to an array of symbolic constants specifying thebuffers into which fragment colors or data values will bewritten.
///
public static void DrawBuffers(int n, uint[] bufs) => build_in.ExtensionFunctionsForCurrent.glDrawBuffers(n, bufs);
///
/// glStencilOpSeparate — set front and/or back stencil test actions
///
///
/// Specifies whether front and/or back stencil state is updated.Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
///
///
/// Specifies the action to take when the stencil test fails.Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP.
///
///
/// Specifies the stencil action when the stencil test passes,but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial valueis GL_KEEP.
///
///
/// Specifies the stencil action when both the stencil test and the depthtest pass, or when the stencil test passes and either there is nodepth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial valueis GL_KEEP.
///
public static void StencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass) => build_in.ExtensionFunctionsForCurrent.glStencilOpSeparate(face, sfail, dpfail, dppass);
///
/// glStencilFuncSeparate — set front and/or back function and reference value for stencil testing
///
///
/// Specifies whether front and/or back stencil state is updated.Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
///
///
/// Specifies the test function.Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
///
///
/// Specifies the reference value for the stencil test. ref is clamped to the range [0,2n−1],where n is the number of bitplanes in the stencil buffer.Theinitial value is 0.
///
///
/// Specifies a mask that is ANDed with both the reference valueand the stored stencil value when the test is done. The initial valueis all 1's.
///
public static void StencilFuncSeparate(uint face, uint func, int Ref, uint mask) => build_in.ExtensionFunctionsForCurrent.glStencilFuncSeparate(face, func, Ref, mask);
///
/// glStencilMaskSeparate — control the front and/or back writing of individual bits in the stencil planes
///
///
/// Specifies whether the front and/or back stencil writemask is updated.Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
///
///
/// Specifies a bit mask to enable and disable writing of individual bitsin the stencil planes.Initially, the mask is all 1's.
///
public static void StencilMaskSeparate(uint face, uint mask) => build_in.ExtensionFunctionsForCurrent.glStencilMaskSeparate(face, mask);
///
/// glAttachShader — Attaches a shader object to a program object
///
///
/// Specifies the program object to which a shaderobject will be attached.
///
///
/// Specifies the shader object that is to be attached.
///
public static void AttachShader(uint program, uint shader) => build_in.ExtensionFunctionsForCurrent.glAttachShader(program, shader);
///
/// glBindAttribLocation — Associates a generic vertex attribute index with a named attribute variable
///
///
/// Specifies the handle of the program object inwhich the association is to be made.
///
///
/// Specifies the index of the generic vertexattribute to be bound.
///
///
/// Specifies a null terminated string containingthe name of the vertex shader attribute variable towhich index is to bebound.
///
public static void BindAttribLocation(uint program, uint index, byte[] name) => build_in.ExtensionFunctionsForCurrent.glBindAttribLocation(program, index, name);
///
/// glCompileShader — Compiles a shader object
///
/// Specifies the shader object to becompiled.
public static void CompileShader(uint shader) => build_in.ExtensionFunctionsForCurrent.glCompileShader(shader);
///
/// glCreateProgram — Creates a program object
///
/// glCreateProgram creates an emptyprogram object and returns a non-zero value by which it can bereferenced.
public static uint CreateProgram() => build_in.ExtensionFunctionsForCurrent.glCreateProgram();
///
/// glCreateShader — Creates a shader object
///
///
/// Specifies the type of shader to be created.Must be one of GL_COMPUTE_SHADER, GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER,or GL_FRAGMENT_SHADER.
///
///
/// glCreateShader creates an emptyshader object and returns a non-zero value by which it can bereferenced.
///
public static uint CreateShader(uint type) => build_in.ExtensionFunctionsForCurrent.glCreateShader(type);
///
/// glDeleteProgram — Deletes a program object
///
///
/// Specifies the program object to bedeleted.
///
public static void DeleteProgram(uint program) => build_in.ExtensionFunctionsForCurrent.glDeleteProgram(program);
///
/// glDeleteShader — Deletes a shader object
///
///
/// Specifies the shader object to be deleted.
///
public static void DeleteShader(uint shader) => build_in.ExtensionFunctionsForCurrent.glDeleteShader(shader);
///
/// glDetachShader — Detaches a shader object from a program object to which it is attached
///
///
/// Specifies the program object from which todetach the shader object.
///
///
/// Specifies the shader object to bedetached.
///
public static void DetachShader(uint program, uint shader) => build_in.ExtensionFunctionsForCurrent.glDetachShader(program, shader);
///
/// glDisableVertexAttribArray — disable a generic vertex attributearray
///
///
/// Specifies the index of the generic vertex attribute to be disabled.
///
public static void DisableVertexAttribArray(uint index) => build_in.ExtensionFunctionsForCurrent.glDisableVertexAttribArray(index);
///
/// glEnableVertexAttribArray — Enable a generic vertex attributearray
///
///
/// Specifies the index of the generic vertex attribute to be enabled
///
public static void EnableVertexAttribArray(uint index) => build_in.ExtensionFunctionsForCurrent.glEnableVertexAttribArray(index);
///
/// glGetActiveAttrib — Returns information about an active attribute variable for the specified program object
///
///
/// Specifies the program object to bequeried.
///
///
/// Specifies the index of the attribute variableto be queried.
///
///
/// Specifies the maximum number of charactersOpenGL is allowed to write in the character bufferindicated by name.
///
///
/// Returns the number of characters actuallywritten by OpenGL in the string indicated by name (excluding the nullterminator) if a value other than NULL is passed.
///
///
/// Returns the size of the attributevariable.
///
///
/// Returns the data type of the attributevariable.
///
///
/// Returns a null terminated string containingthe name of the attribute variable.
///
public static void GetActiveAttrib(uint program, uint index, int bufSize, out int length, out int size, out uint type, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetActiveAttrib(program, index, bufSize, out length, out size, out type, name);
///
/// glGetActiveUniform — Returns information about an active uniform variable for the specified program object
///
///
/// Specifies the program object to bequeried.
///
///
/// Specifies the index of the uniform variable tobe queried.
///
///
/// Specifies the maximum number of charactersOpenGL is allowed to write in the character bufferindicated by name.
///
///
/// Returns the number of characters actuallywritten by OpenGL in the string indicated by name (excluding the nullterminator) if a value other than NULL is passed.
///
///
/// Returns the size of the uniformvariable
///
///
/// Returns the data type of the uniformvariable.
///
///
/// Returns a null terminated string containingthe name of the uniform variable.
///
public static void GetActiveUniform(uint program, uint index, int bufSize, out int length, out int size, out uint type, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetActiveUniform(program, index, bufSize, out length, out size, out type, name);
///
/// glGetAttachedShaders — Returns the handles of the shader objects attached to a program object
///
///
/// Specifies the program object to bequeried.
///
///
/// Specifies the size of the array for storingthe returned object names.
///
///
/// Returns the number of names actually returnedin shaders.
///
///
/// Specifies an array that is used to return thenames of attached shader objects.
///
public static void GetAttachedShaders(uint program, int maxCount, out int count, uint[] shaders) => build_in.ExtensionFunctionsForCurrent.glGetAttachedShaders(program, maxCount, out count, shaders);
///
/// glGetAttribLocation — Returns the location of an attribute variable
///
///
/// Specifies the program object to bequeried
///
///
/// Points to a null terminated string containingthe name of the attribute variable whose location isto be queried.
///
///
/// glGetAttribLocation queries thepreviously linked program object specified by program for the attribute variablespecified by name and returns the index of the generic vertex attribute that is bound to that attributevariable.
///
public static int GetAttribLocation(uint program, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetAttribLocation(program, name);
///
/// glGetProgramiv — Returns a parameter from a program object
///
///
/// Specifies the program object to bequeried.
///
///
/// Specifies the object parameter. Acceptedsymbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
/// GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_BLOCKS, GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH, GL_ACTIVE_UNIFORM_MAX_LENGTH, GL_COMPUTE_WORK_GROUP_SIZE ,
/// GL_PROGRAM_BINARY_LENGTH, GL_TRANSFORM_FEEDBACK_BUFFER_MODE, GL_TRANSFORM_FEEDBACK_VARYINGS, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, GL_GEOMETRY_VERTICES_OUT, GL_GEOMETRY_INPUT_TYPE, and GL_GEOMETRY_OUTPUT_TYPE.
///
///
/// Returns the requested object parameter.
///
public static void GetProgram(uint program, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetProgramiv(program, pname, Params);
///
/// glGetProgramInfoLog — Returns the information log for a program object
///
///
/// Specifies the program object whose informationlog is to be queried.
///
///
/// Specifies the size of the character buffer forstoring the returned information log.
///
///
/// Returns the length of the string returned in infoLog (excluding the nullterminator).
///
///
/// Specifies an array of characters that is usedto return the information log.
///
public static void GetProgramInfoLog(uint program, int bufSize, out int length, byte[] infoLog) => build_in.ExtensionFunctionsForCurrent.glGetProgramInfoLog(program, bufSize, out length, infoLog);
///
/// glGetShaderiv — Returns a parameter from a shader object
///
///
/// Specifies the shader object to bequeried.
///
///
/// Specifies the object parameter. Acceptedsymbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
///
///
/// Returns the requested object parameter.
///
public static void GetShader(uint shader, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetShaderiv(shader, pname, Params);
///
/// glGetShaderInfoLog — Returns the information log for a shader object
///
///
/// Specifies the shader object whose informationlog is to be queried.
///
///
/// Specifies the size of the character buffer forstoring the returned information log.
///
///
/// Returns the length of the string returned in infoLog (excluding the nullterminator).
///
///
/// Specifies an array of characters that is usedto return the information log.
///
public static void GetShaderInfoLog(uint shader, int bufSize, out int length, byte[] infoLog) => build_in.ExtensionFunctionsForCurrent.glGetShaderInfoLog(shader, bufSize, out length, infoLog);
///
/// glGetShaderSource — Returns the source code string from a shader object
///
///
/// Specifies the shader object to bequeried.
///
///
/// Specifies the size of the character buffer forstoring the returned source code string.
///
///
/// Returns the length of the string returned in source (excluding the nullterminator).
///
///
/// Specifies an array of characters that is usedto return the source code string.
///
public static void GetShaderSource(uint shader, int bufSize, out int length, byte[] source) => build_in.ExtensionFunctionsForCurrent.glGetShaderSource(shader, bufSize, out length, source);
///
/// glGetUniformLocation — Returns the location of a uniform variable
///
///
/// Specifies the program object to bequeried.
///
///
/// Points to a null terminated string containingthe name of the uniform variable whose location isto be queried.
///
///
/// glGetUniformLocation returns aninteger that represents the location of a specific uniformvariable within a program object.
///
public static int GetUniformLocation(uint program, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetUniformLocation(program, name);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetUniform(uint program, int location, float[] Params) => build_in.ExtensionFunctionsForCurrent.glGetUniformfv(program, location, Params);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetUniform(uint program, int location, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetUniformiv(program, location, Params);
///
/// glGetVertexAttrib — Return a generic vertex attribute parameter
///
///
/// Specifies the generic vertex attributeparameter to be queried.
///
///
/// Specifies the symbolic name of the vertexattribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE,
/// GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_CURRENT_VERTEX_ATTRIB.
///
///
/// Returns the requested data.
///
public static void GetVertexAttrib(uint index, uint pname, double[] Params) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribdv(index, pname, Params);
///
/// glGetVertexAttrib — Return a generic vertex attribute parameter
///
///
/// Specifies the generic vertex attributeparameter to be queried.
///
///
/// Specifies the symbolic name of the vertexattribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE,
/// GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_CURRENT_VERTEX_ATTRIB.
///
///
/// Returns the requested data.
///
public static void GetVertexAttrib(uint index, uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribfv(index, pname, Params);
///
/// glGetVertexAttrib — Return a generic vertex attribute parameter
///
///
/// Specifies the generic vertex attributeparameter to be queried.
///
///
/// Specifies the symbolic name of the vertexattribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE,
/// GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_CURRENT_VERTEX_ATTRIB.
///
///
/// Returns the requested data.
///
public static void GetVertexAttrib(uint index, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribiv(index, pname, Params);
///
///glGetVertexAttribPointerv — return the address of the specified generic vertex attribute pointer
///
///
/// Specifies the generic vertex attributeparameter to be returned.
///
///
/// Specifies the symbolic name of the genericvertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
///
///
/// Returns the pointer value.
///
public static void GetVertexAttribPointerv(uint index, uint pname, IntPtr[] pointer) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribPointerv(index, pname, pointer);
///
/// glIsProgram — Determines if a name corresponds to a program object
///
///
/// Specifies a potential program object.
///
///
/// glIsProgram returns GL_TRUE if programis the name of a program object previously created with glCreateProgramand not yet deleted with glDeleteProgram.
///
public static bool IsProgram(uint program) => build_in.ExtensionFunctionsForCurrent.glIsProgram(program);
///
/// glIsShader — Determines if a name corresponds to a shader object
///
///
/// Specifies a potential shader object.
///
///
/// glIsShader returns GL_TRUE if shader is the name of a shader object previously created with glCreateShaderand not yet deleted with glDeleteShader.
///
public static bool IsShader(uint shader) => build_in.ExtensionFunctionsForCurrent.glIsShader(shader);
///
/// glLinkProgram — Links a program object
///
///
/// Specifies the handle of the program object to be linked.
///
public static void LinkProgram(uint program) => build_in.ExtensionFunctionsForCurrent.glLinkProgram(program);
///
/// glShaderSource — Replaces the source code in a shader object
///
///
/// Specifies the handle of the shader objectwhose source code is to be replaced.
///
///
/// Specifies the number of elements in the string and lengtharrays.
///
///
/// Specifies an array of pointers to stringscontaining the source code to be loaded into theshader.
///
///
/// Specifies an array of string lengths.
///
public static void ShaderSource(uint shader, int count, IntPtr[] str, IntPtr length) => build_in.ExtensionFunctionsForCurrent.glShaderSource(shader, count, str, length);
///
/// glUseProgram — Installs a program object as part of current rendering state
///
///
/// Specifies the handle of the program objectwhose executables are to be used as part of currentrendering state.
///
public static void UseProgram(uint program) => build_in.ExtensionFunctionsForCurrent.glUseProgram(program);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform1(int location, float v0) => build_in.ExtensionFunctionsForCurrent.glUniform1f(location, v0);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform2(int location, float v0, float v1) => build_in.ExtensionFunctionsForCurrent.glUniform2f(location, v0, v1);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform3(int location, float v0, float v1, float v2) => build_in.ExtensionFunctionsForCurrent.glUniform3f(location, v0, v1, v2);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform4(int location, float v0, float v1, float v2, float v3) => build_in.ExtensionFunctionsForCurrent.glUniform4f(location, v0, v1, v2, v3);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform1(int location, int v0) => build_in.ExtensionFunctionsForCurrent.glUniform1i(location, v0);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform2(int location, int v0, int v1) => build_in.ExtensionFunctionsForCurrent.glUniform2i(location, v0, v1);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform3(int location, int v0, int v1, int v2) => build_in.ExtensionFunctionsForCurrent.glUniform3i(location, v0, v1, v2);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform4(int location, int v0, int v1, int v2, int v3) => build_in.ExtensionFunctionsForCurrent.glUniform4i(location, v0, v1, v2, v3);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// the number of return values.
///
///
/// For the vector and matrix commands, specifies a pointer to an array of count values that will beused to update the specified uniform variable.
///
public static void Uniform1(int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniform1fv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform2(int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniform2fv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform3(int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniform3fv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform4(int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniform4fv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform1(int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glUniform1iv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform2(int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glUniform2iv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform3(int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glUniform3iv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform4(int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glUniform4iv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix2(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix2fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix3(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix3fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix4(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix4fv(location, count, transpose, value);
///
/// glValidateProgram — Validates a program object
///
///
/// Specifies the handle of the program object tobe validated.
///
public static void ValidateProgram(uint program) => build_in.ExtensionFunctionsForCurrent.glValidateProgram(program);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib(uint index, double x) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib1d(index, x);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib1(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib1dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib1(uint index, float x) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib1f(index, x);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib1(uint index, float[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib1fv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib1(uint index, short x) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib1s(index, x);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib1(uint index, short[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib1sv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib2(uint index, double x, double y) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib2d(index, x, y);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib2(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib2dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib2(uint index, float x, float y) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib2f(index, x, y);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib2(uint index, float[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib2fv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib2(uint index, short x, short y) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib2s(index, x, y);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib2(uint index, short[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib2sv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib3(uint index, double x, double y, double z) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib3d(index, x, y, z);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib3(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib3dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib3(uint index, float x, float y, float z) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib3f(index, x, y, z);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib3(uint index, float[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib3fv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib3(uint index, short x, short y, short z) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib3s(index, x, y, z);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib3(uint index, short[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib3sv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4N(uint index, sbyte[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Nbv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4N(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Niv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4N(uint index, short[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Nsv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib4N(uint index, byte x, byte y, byte z, byte w) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Nub(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4N(uint index, byte[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Nubv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4N(uint index, uint[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Nuiv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4N(uint index, ushort[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4Nusv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, sbyte[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4bv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib4(uint index, double x, double y, double z, double w) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4d(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib4(uint index, float x, float y, float z, float w) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4f(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, float[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4fv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4iv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttrib4(uint index, short x, short y, short z, short w) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4s(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, short[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4sv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, byte[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4ubv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, uint[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4uiv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttrib4(uint index, ushort[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttrib4usv(index, v);
///
/// glVertexAttribPointer — define an array of generic vertex attribute data
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// Specifies the number of components pergeneric vertex attribute. Mustbe 1, 2, 3, 4. Additionally, the symbolic constant GL_BGRAis accepted by glVertexAttribPointer. The initial value is 4.
///
///
/// Specifies the data type of each component inthe array. The symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, and GL_UNSIGNED_INT are accepted by glVertexAttribPointer
/// and glVertexAttribIPointer. Additionally GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV and GL_UNSIGNED_INT_10F_11F_11F_REV are accepted by glVertexAttribPointer.
/// GL_DOUBLE is also accepted by glVertexAttribLPointer and isthe only token accepted by the type parameter for that function.The initial value is GL_FLOAT.
///
///
/// For glVertexAttribPointer, specifies whether fixed-point data valuesshould be normalized (GL_TRUE)or converted directly as fixed-point values(GL_FALSE) when they areaccessed.
///
///
/// Specifies the byte offset between consecutivegeneric vertex attributes. If strideis 0, the generic vertex attributes areunderstood to be tightly packed in thearray. The initial value is 0.
///
///
/// Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of thebuffer currently bound to the GL_ARRAY_BUFFER target. The initial value is 0.
///
public static void VertexAttribPointer(uint index, int size, uint type, bool normalized, int stride, IntPtr pointer) => build_in.ExtensionFunctionsForCurrent.glVertexAttribPointer(index, size, type, normalized, stride, pointer);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix2x3(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix2x3fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix3x2(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix3x2fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix2x4(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix2x4fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix4x2(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix4x2fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix3x4(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix3x4fv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix4x3(int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix4x3fv(location, count, transpose, value);
///
/// glColorMask, glColorMaski — enable and disable writing of frame buffer color components
///
///
/// For glColorMaski, specifies the index of thedraw buffer whose color mask to set.
///
///
/// Specify whether red, green, blue, and alpha are to be writteninto the frame buffer.The initial values are all GL_TRUE,indicating that the color components are written.
///
///
/// Specify whether red, green, blue, and alpha are to be writteninto the frame buffer.The initial values are all GL_TRUE,indicating that the color components are written.
///
///
/// Specify whether red, green, blue, and alpha are to be writteninto the frame buffer.The initial values are all GL_TRUE,indicating that the color components are written.
///
///
/// Specify whether red, green, blue, and alpha are to be writteninto the frame buffer.The initial values are all GL_TRUE,indicating that the color components are written.
///
public static void ColorMask(uint index, bool r, bool g, bool b, bool a) => build_in.ExtensionFunctionsForCurrent.glColorMaski(index, r, g, b, a);
///
/// glGet — return the value or values of a selected parameter
///
///
/// Specifies the parameter value to be returnedfor indexed versions of glGet.The symbolic constants in the list below are accepted.
///
///
/// Specifies the index of the particular element being queried.
///
///
/// Returns the value or values of the specified parameter.
///
public static void GetBoolean(uint target, uint index, bool[] data) => build_in.ExtensionFunctionsForCurrent.glGetBooleani_v(target, index, data);
///
/// glGet — return the value or values of a selected parameter
///
///
/// Specifies the parameter value to be returnedfor indexed versions of glGet.The symbolic constants in the list below are accepted.
///
///
/// Specifies the index of the particular element being queried.
///
///
/// Returns the value or values of the specified parameter.
///
public static void GetInteger(uint target, uint index, int[] data) => build_in.ExtensionFunctionsForCurrent.glGetIntegeri_v(target, index, data);
///
/// glEnable — enable server-side GL capabilities
///
///
/// Specifies a symbolic constant indicating a GL capability.Some of the GL's capabilities :GL_BLEND ,GL_CLIP_DISTANCE i ,GL_COLOR_LOGIC_OP,GL_CULL_FACE,GL_DEBUG_OUTPUT,GL_DEBUG_OUTPUT_SYNCHRONOUS,
/// GL_DEPTH_CLAMP,GL_DEPTH_TEST,GL_DITHER ,GL_FRAMEBUFFER_SRGB ,GL_LINE_SMOOTH,GL_MULTISAMPLE,GL_POLYGON_OFFSET_FILL ,GL_POLYGON_OFFSET_LINE,GL_POLYGON_OFFSET_POINT,
/// GL_POLYGON_SMOOTH,GL_PRIMITIVE_RESTART,GL_PRIMITIVE_RESTART_FIXED_INDEX,GL_RASTERIZER_DISCARD,GL_SAMPLE_ALPHA_TO_COVERAGE,GL_SAMPLE_ALPHA_TO_ONE,GL_SAMPLE_COVERAGE,
/// GL_SAMPLE_SHADING ,GL_SAMPLE_MASK,GL_SCISSOR_TEST,GL_STENCIL_TEST,GL_TEXTURE_CUBE_MAP_SEAMLESS,GL_PROGRAM_POINT_SIZE.
///
///
/// Specifies the index of the switch to disable (for glEnablei and glDisablei only).
///
public static void Enable(uint target, uint index) => build_in.ExtensionFunctionsForCurrent.glEnablei(target, index);
///
/// glDisnable — disable server-side GL capabilities
///
///
/// Specifies a symbolic constant indicating a GL capability.Some of the GL's capabilities :GL_BLEND ,GL_CLIP_DISTANCE i ,GL_COLOR_LOGIC_OP,GL_CULL_FACE,GL_DEBUG_OUTPUT,GL_DEBUG_OUTPUT_SYNCHRONOUS,
/// GL_DEPTH_CLAMP,GL_DEPTH_TEST,GL_DITHER ,GL_FRAMEBUFFER_SRGB ,GL_LINE_SMOOTH,GL_MULTISAMPLE,GL_POLYGON_OFFSET_FILL ,GL_POLYGON_OFFSET_LINE,GL_POLYGON_OFFSET_POINT,
/// GL_POLYGON_SMOOTH,GL_PRIMITIVE_RESTART,GL_PRIMITIVE_RESTART_FIXED_INDEX,GL_RASTERIZER_DISCARD,GL_SAMPLE_ALPHA_TO_COVERAGE,GL_SAMPLE_ALPHA_TO_ONE,GL_SAMPLE_COVERAGE,
/// GL_SAMPLE_SHADING ,GL_SAMPLE_MASK,GL_SCISSOR_TEST,GL_STENCIL_TEST,GL_TEXTURE_CUBE_MAP_SEAMLESS,GL_PROGRAM_POINT_SIZE.
///
///
/// Specifies the index of the switch to disable (for glEnablei and glDisablei only).
///
public static void Disable(uint target, uint index) => build_in.ExtensionFunctionsForCurrent.glDisablei(target, index);
///
/// glIsEnabled, glIsEnabledi — test whether a capability is enabled
///
///
/// Specifies a symbolic constant indicating a GL capability.
///
///
/// Specifies the index of the capability.
///
///
/// glIsEnabled returns GL_TRUE if cap is an enabled capabilityand returns GL_FALSE otherwise.
///
public static bool IsEnabled(uint target, uint index) => build_in.ExtensionFunctionsForCurrent.glIsEnabledi(target, index);
///
/// glBeginTransformFeedback — start transform feedback operation
///
///
/// Specify the output type of the primitives that will be recorded into thebuffer objects that are bound for transform feedback.
///
public static void BeginTransformFeedback(uint primitiveMode) => build_in.ExtensionFunctionsForCurrent.glBeginTransformFeedback(primitiveMode);
///
/// glEndTransformFeedback — end transform feedback operation
///
public static void EndTransformFeedback() => build_in.ExtensionFunctionsForCurrent.glEndTransformFeedback();
///
/// glBindBufferRange — bind a range within a buffer object to an indexed buffer target
///
///
/// Specify the target of the bind operation. target must beone of GL_ATOMIC_COUNTER_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER, GL_UNIFORM_BUFFER,or GL_SHADER_STORAGE_BUFFER.
///
///
/// Specify the index of the binding point within the array specified by target.
///
///
/// The name of a buffer object to bind to the specified binding point.
///
///
/// The starting offset in basic machine units into the buffer object buffer.
///
///
/// The amount of data in machine units that can be read from the buffer object while used as an indexed target.
///
public static void BindBufferRange(uint target, uint index, uint buffer, int offset, int size) => build_in.ExtensionFunctionsForCurrent.glBindBufferRange(target, index, buffer, offset, size);
///
/// glBindBufferBase — bind a buffer object to an indexed buffer target
///
///
/// Specify the target of the bind operation. target must beone of GL_ATOMIC_COUNTER_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER, GL_UNIFORM_BUFFER or GL_SHADER_STORAGE_BUFFER.
///
///
/// Specify the index of the binding point within the array specified by target.
///
///
/// The name of a buffer object to bind to the specified binding point.
///
public static void BindBufferBase(uint target, uint index, uint buffer) => build_in.ExtensionFunctionsForCurrent.glBindBufferBase(target, index, buffer);
///
/// glTransformFeedbackVaryings — specify values to record in transform feedback buffers
///
///
/// The name of the target program object.
///
///
/// The number of varying variables used for transform feedback.
///
///
/// An array of count zero-terminated strings specifying thenames of the varying variables to use for transform feedback.
///
///
/// Identifies the mode used to capture the varying variables when transform feedback is active. bufferMode must be GL_INTERLEAVED_ATTRIBS or GL_SEPARATE_ATTRIBS.
///
public static void TransformFeedbackVaryings(uint program, int count, IntPtr[] varyings, uint bufferMode) => build_in.ExtensionFunctionsForCurrent.glTransformFeedbackVaryings(program, count, varyings, bufferMode);
///
/// glGetTransformFeedbackVarying — retrieve information about varying variables selected for transform feedback
///
///
/// The name of the target program object.
///
///
/// The index of the varying variable whose information to retrieve.
///
///
/// The maximum number of characters, including the null terminator, that may be written into name.
///
///
/// The address of a variable which will receive the number of characters written into name,excluding the null-terminator. If length is NULL no length is returned.
///
///
/// The address of a variable that will receive the size of the varying.
///
///
/// The address of a variable that will recieve the type of the varying.
///
///
/// The address of a buffer into which will be written the name of the varying.
///
public static void GetTransformFeedbackVarying(uint program, uint index, int bufSize, out int length, out int size, out uint type, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetTransformFeedbackVarying(program, index, bufSize, out length, out size, out type, name);
///
/// glClampColor — specify whether data read via glReadPixels should be clamped
///
///
/// Target for color clamping. target must be GL_CLAMP_READ_COLOR.
///
///
/// Specifies whether to apply color clamping. clamp must be GL_TRUE or GL_FALSE.
///
public static void ClampColor(uint target, uint clamp) => build_in.ExtensionFunctionsForCurrent.glClampColor(target, clamp);
///
/// glBeginConditionalRender — start conditional rendering
///
///
/// Specifies the name of an occlusion query object whose results are used to determine if the rendering commands are discarded.
///
///
/// Specifies how glBeginConditionalRender interprets the results of the occlusion query.
///
public static void BeginConditionalRender(uint id, uint mode) => build_in.ExtensionFunctionsForCurrent.glBeginConditionalRender(id, mode);
///
/// glEndConditionalRender — end conditional rendering
///
public static void EndConditionalRender() => build_in.ExtensionFunctionsForCurrent.glEndConditionalRender();
///
/// glVertexAttribPointer — define an array of generic vertex attribute data
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// Specifies the number of components pergeneric vertex attribute. Mustbe 1, 2, 3, 4. Additionally, the symbolic constant GL_BGRAis accepted by glVertexAttribPointer. The initial value is 4.
///
///
/// Specifies the data type of each component inthe array. The symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, and GL_UNSIGNED_INT are accepted by glVertexAttribPointer
/// and glVertexAttribIPointer. Additionally GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV and GL_UNSIGNED_INT_10F_11F_11F_REV are accepted by glVertexAttribPointer.
/// GL_DOUBLE is also accepted by glVertexAttribLPointer and isthe only token accepted by the type parameter for that function.The initial value is GL_FLOAT.
///
///
/// Specifies the byte offset between consecutivegeneric vertex attributes. If strideis 0, the generic vertex attributes areunderstood to be tightly packed in thearray. The initial value is 0.
///
///
/// Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of thebuffer currently bound to the GL_ARRAY_BUFFER target. The initial value is 0.
///
public static void VertexAttribIPointer(uint index, int size, uint type, int stride, IntPtr pointer) => build_in.ExtensionFunctionsForCurrent.glVertexAttribIPointer(index, size, type, stride, pointer);
///
/// glGetVertexAttrib — Return a generic vertex attribute parameter
///
///
/// Specifies the generic vertex attributeparameter to be queried.
///
///
/// Specifies the symbolic name of the vertexattribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE,
/// GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_CURRENT_VERTEX_ATTRIB.
///
///
/// Returns the requested data.
///
public static void GetVertexAttribI(uint index, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribIiv(index, pname, Params);
///
/// glGetVertexAttrib — Return a generic vertex attribute parameter
///
///
/// Specifies the generic vertex attributeparameter to be queried.
///
///
/// Specifies the symbolic name of the vertexattribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE,
/// GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_CURRENT_VERTEX_ATTRIB.
///
///
/// Returns the requested data.
///
public static void GetVertexAttribI(uint index, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribIuiv(index, pname, Params);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI1(uint index, int x) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI1i(index, x);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI2(uint index, int x, int y) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI2i(index, x, y);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI3(uint index, int x, int y, int z) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI3i(index, x, y, z);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, int x, int y, int z, int w) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4i(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI1(uint index, uint x) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI1ui(index, x);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI2(uint index, uint x, uint y) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI2ui(index, x, y);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI3(uint index, uint x, uint y, uint z) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI3ui(index, x, y, z);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, uint x, uint y, uint z, uint w) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4ui(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI1(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI1iv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI2(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI2iv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI3(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI3iv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4iv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI1(uint index, uint[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI1uiv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI2(uint index, uint[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI2uiv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI3(uint index, uint[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI3uiv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, uint[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4uiv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, sbyte[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4bv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, short[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4sv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, byte[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4ubv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribI4(uint index, ushort[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribI4usv(index, v);
///
/// glGetUniform — Returns the value of a uniform variable.
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetUniform(uint program, int location, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetUniformuiv(program, location, Params);
///
/// glBindFragDataLocation — bind a user-defined varying out variable to a fragment shader color number
///
///
/// The name of the program containing varying out variable whose binding to modify
///
///
/// The color number to bind the user-defined varying out variable to
///
///
/// The name of the user-defined varying out variable whose binding to modify
///
public static void BindFragDataLocation(uint program, uint color, byte[] name) => build_in.ExtensionFunctionsForCurrent.glBindFragDataLocation(program, color, name);
///
/// glGetFragDataLocation — query the bindings of color numbers to user-defined varying out variables
///
///
/// The name of the program containing varying out variable whose binding to query
///
///
/// The name of the user-defined varying out variable whose binding to query
///
///
/// glGetFragDataLocation retrieves the assigned color number binding for the user-defined varying out variable name for program program.
/// If nameis not the name of an active user-defined varying out fragment shader variable within program, -1 willbe returned.
///
public static int GetFragDataLocation(uint program, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetFragDataLocation(program, name);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform1(int location, uint v0) => build_in.ExtensionFunctionsForCurrent.glUniform1ui(location, v0);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform2(int location, uint v0, uint v1) => build_in.ExtensionFunctionsForCurrent.glUniform2ui(location, v0, v1);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform3(int location, uint v0, uint v1, uint v2) => build_in.ExtensionFunctionsForCurrent.glUniform3ui(location, v0, v1, v2);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void Uniform4(int location, uint v0, uint v1, uint v2, uint v3) => build_in.ExtensionFunctionsForCurrent.glUniform4ui(location, v0, v1, v2, v3);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
///For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform1(int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glUniform1uiv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
///For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform2(int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glUniform2uiv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
///For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform3(int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glUniform3uiv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
///For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform4(int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glUniform4uiv(location, count, value);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the target to which the texture is bound for glTexParameter functions. Must be one of GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY,
/// GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY, or GL_TEXTURE_RECTANGLE.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC,
/// GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL,
/// GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
/// For the vector commands(glTexParameter*v), pname can also be one of GL_TEXTURE_BORDER_COLOR or GL_TEXTURE_SWIZZLE_RGBA.
///
///
/// For the vector commands, specifies a pointer to an array wherethe value or values of pname arestored.
///
public static void TexParameterI(uint target, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glTexParameterIiv(target, pname, Params);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the target to which the texture is bound for glTexParameter functions. Must be one of GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY,
/// GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY, or GL_TEXTURE_RECTANGLE.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC,
/// GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL,
/// GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
/// For the vector commands(glTexParameter*v), pname can also be one of GL_TEXTURE_BORDER_COLOR or GL_TEXTURE_SWIZZLE_RGBA.
///
///
/// For the vector commands, specifies a pointer to an array wherethe value or values of pname arestored.
///
public static void TexParameterI(uint target, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glTexParameterIuiv(target, pname, Params);
///
/// glGetTexParameter — return texture parameter values
///
///
/// Specifies the target to which the texture is bound for glGetTexParameterfv, glGetTexParameteriv, glGetTexParameterIiv, and glGetTexParameterIuiv functions.
/// GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_RECTANGLE, and GL_TEXTURE_CUBE_MAP_ARRAY are accepted.
///
///
/// Specifies the symbolic name of a texture parameter. GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR,
/// GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A,
/// GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R are accepted.
///
///
/// Returns the texture parameters.
///
public static void GetTexParameterI(uint target, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTexParameterIiv(target, pname, Params);
///
/// glGetTexParameter — return texture parameter values
///
///
/// Specifies the target to which the texture is bound for glGetTexParameterfv, glGetTexParameteriv, glGetTexParameterIiv, and glGetTexParameterIuiv functions.
/// GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_RECTANGLE, and GL_TEXTURE_CUBE_MAP_ARRAY are accepted.
///
///
/// Specifies the symbolic name of a texture parameter. GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR,
/// GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A,
/// GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R are accepted.
///
///
/// Returns the texture parameters.
///
public static void GetTexParameterI(uint target, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTexParameterIuiv(target, pname, Params);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// A pointer to the value or values to clear the buffer to.
///
public static void ClearBuffer(uint buffer, int drawbuffer, int[] value) => build_in.ExtensionFunctionsForCurrent.glClearBufferiv(buffer, drawbuffer, value);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// A pointer to the value or values to clear the buffer to.
///
public static void ClearBuffer(uint buffer, int drawbuffer, uint[] value) => build_in.ExtensionFunctionsForCurrent.glClearBufferuiv(buffer, drawbuffer, value);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// A pointer to the value or values to clear the buffer to.
///
public static void ClearBuffer(uint buffer, int drawbuffer, float[] value) => build_in.ExtensionFunctionsForCurrent.glClearBufferfv(buffer, drawbuffer, value);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// The value to clear the depth buffer to.
///
///
/// The value to clear the stencil buffer to.
///
public static void ClearBuffer(uint buffer, int drawbuffer, float depth, int stencil) => build_in.ExtensionFunctionsForCurrent.glClearBufferfi(buffer, drawbuffer, depth, stencil);
///
/// glGetStringi returns a pointer to a static stringindexed by index. name can be one of the following:
///
///
/// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, or GL_SHADING_LANGUAGE_VERSION.Additionally, glGetStringi accepts the GL_EXTENSIONS token.
///
///
/// For glGetStringi, specifies the index of the string to return.
///
///
/// glGetString returns a pointer to a static stringdescribing some aspect of the current GL
///
public static IntPtr GetString(uint name, uint index) => build_in.ExtensionFunctionsForCurrent.glGetStringi(name, index);
///
/// glIsRenderbuffer — determine if a name corresponds to a renderbuffer object
///
///
/// Specifies a value that may be the name of a renderbuffer object
///
///
/// glIsRenderbuffer returns GL_TRUE if renderbuffer is currently the name of a renderbufferobject. If renderbuffer is zero, or if renderbuffer is not the name of a renderbuffer object, or if an erroroccurs, glIsRenderbuffer returns GL_FALSE.
///
public static bool IsRenderbuffer(uint renderbuffer) => build_in.ExtensionFunctionsForCurrent.glIsRenderbuffer(renderbuffer);
///
/// glBindRenderbuffer — bind a renderbuffer to a renderbuffer target
///
///
/// Specifies the renderbuffer target of the binding operation. target must be GL_RENDERBUFFER.
///
///
/// Specifies the name of the renderbuffer object to bind.
///
public static void BindRenderbuffer(uint target, uint renderbuffer) => build_in.ExtensionFunctionsForCurrent.glBindRenderbuffer(target, renderbuffer);
///
/// glDeleteRenderbuffers — delete renderbuffer objects
///
///
/// Specifies the number of renderbuffer objects to be deleted.
///
///
/// A pointer to an array containing n renderbuffer objects to be deleted.
///
public static void DeleteRenderbuffers(int n, uint[] renderbuffers) => build_in.ExtensionFunctionsForCurrent.glDeleteRenderbuffers(n, renderbuffers);
///
/// glGenRenderbuffers — generate renderbuffer object names
///
///
/// Specifies the number of renderbuffer object names to generate.
///
///
/// Specifies an array in which the generated renderbuffer object names are stored.
///
public static void GenRenderbuffers(int n, uint[] renderbuffers) => build_in.ExtensionFunctionsForCurrent.glGenRenderbuffers(n, renderbuffers);
///
/// glRenderbufferStorage, glNamedRenderbufferStorage — establish data storage, format and dimensions of arenderbuffer object's image
///
///
/// Specifies a binding target of the allocation for glRenderbufferStorage function. Must be GL_RENDERBUFFER.
///
///
/// Specifies the internal format to use for the renderbufferobject's image.
///
///
/// Specifies the width of the renderbuffer, in pixels.
///
///
/// Specifies the height of the renderbuffer, in pixels.
///
public static void RenderbufferStorage(uint target, uint internalformat, int width, int height) => build_in.ExtensionFunctionsForCurrent.glRenderbufferStorage(target, internalformat, width, height);
///
/// glGetBufferParameter — return parameters of a buffer object
///
///
/// Specifies the target to which the buffer object is boundfor glGetBufferParameteriv and glGetBufferParameteri64v. Must beone of the buffer binding targets in the followingtable:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER ,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the name of the buffer object parameter toquery.
///
///
/// Returns the requested parameter.
///
public static void GetRenderbufferParameter(uint target, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetRenderbufferParameteriv(target, pname, Params);
///
/// glIsFramebuffer — determine if a name corresponds to a framebuffer object
///
///
/// Specifies a value that may be the name of a framebuffer object.
///
///
/// glIsFramebuffer returns GL_TRUE if framebuffer is currently the name of a framebufferobject. If framebuffer is zero, or if framebuffer is not the name of a framebuffer object, or if an erroroccurs, glIsFramebuffer returns GL_FALSE.
///
public static bool IsFramebuffer(uint framebuffer) => build_in.ExtensionFunctionsForCurrent.glIsFramebuffer(framebuffer);
///
/// glBindFramebuffer — bind a framebuffer to a framebuffer target
///
///
/// Specifies the framebuffer target of the binding operation.
///
///
/// Specifies the name of the framebuffer object to bind.
///
public static void BindFramebuffer(uint target, uint framebuffer) => build_in.ExtensionFunctionsForCurrent.glBindFramebuffer(target, framebuffer);
///
/// glDeleteFramebuffers — delete framebuffer objects
///
///
/// Specifies the number of framebuffer objects to be deleted.
///
///
/// A pointer to an array containing n framebuffer objects to be deleted.
///
public static void DeleteFramebuffers(int n, uint[] framebuffers) => build_in.ExtensionFunctionsForCurrent.glDeleteFramebuffers(n, framebuffers);
///
/// glGenFramebuffers — generate framebuffer object names
///
///
/// Specifies the number of framebuffer object names to generate.
///
///
/// Specifies an array in which the generated framebuffer object names are stored.
///
public static void GenFramebuffers(int n, uint[] framebuffers) => build_in.ExtensionFunctionsForCurrent.glGenFramebuffers(n, framebuffers);
///
/// glCheckFramebufferStatus, glCheckNamedFramebufferStatus — check the completeness status of a framebuffer
///
///
/// Specify the target to which the framebuffer is bound for glCheckFramebufferStatus, and thetarget against which framebuffer completeness of framebuffer is checked for glCheckNamedFramebufferStatus.
///
///
/// The return value is GL_FRAMEBUFFER_COMPLETE if the specified framebuffer is complete.
///
public static uint CheckFramebufferStatus(uint target) => build_in.ExtensionFunctionsForCurrent.glCheckFramebufferStatus(target);
///
/// glFramebufferTexture — attach a level of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor all commands except glNamedFramebufferTexture
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// For glFramebufferTexture1D, glFramebufferTexture2D and glFramebufferTexture3D, specifieswhat type of texture is expected in the texture parameter, or for cubemap textures, which face is to be attached.
///
///
/// Specifies the name of an existing texture object toattach.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
public static void FramebufferTexture1D(uint target, uint attachment, uint textarget, uint texture, int level) => build_in.ExtensionFunctionsForCurrent.glFramebufferTexture1D(target, attachment, textarget, texture, level);
///
/// glFramebufferTexture — attach a level of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor all commands except glNamedFramebufferTexture
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// For glFramebufferTexture1D, glFramebufferTexture2D and glFramebufferTexture3D, specifieswhat type of texture is expected in the texture parameter, or for cubemap textures, which face is to be attached.
///
///
/// Specifies the name of an existing texture object toattach.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
public static void FramebufferTexture2D(uint target, uint attachment, uint textarget, uint texture, int level) => build_in.ExtensionFunctionsForCurrent.glFramebufferTexture2D(target, attachment, textarget, texture, level);
///
/// glFramebufferTexture — attach a level of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor all commands except glNamedFramebufferTexture
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// For glFramebufferTexture1D, glFramebufferTexture2D and glFramebufferTexture3D, specifieswhat type of texture is expected in the texture parameter, or for cubemap textures, which face is to be attached.
///
///
/// Specifies the name of an existing texture object toattach.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
///
/// specifies the layer of a2-dimensional image within a 3-dimensional texture.
///
public static void FramebufferTexture3D(uint target, uint attachment, uint textarget, uint texture, int level, int zoffset) => build_in.ExtensionFunctionsForCurrent.glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
///
/// glFramebufferRenderbuffer, glNamedFramebufferRenderbuffer — attach a renderbuffer as a logical buffer of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor glFramebufferRenderbuffer.
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// Specifies the renderbuffer target. Must be GL_RENDERBUFFER.
///
///
/// Specifies the name of an existing renderbuffer object oftype renderbuffertarget toattach.
///
public static void FramebufferRenderbuffer(uint target, uint attachment, uint renderbuffertarget, uint renderbuffer) => build_in.ExtensionFunctionsForCurrent.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
///
/// glGetFramebufferAttachmentParameteriv, glGetNamedFramebufferAttachmentParameteriv — retrieve information about attachments of a framebuffer object
///
///
/// Specifies the target to which the framebuffer object isbound for glGetFramebufferAttachmentParameteriv
///
///
/// Specifies the attachment of the framebuffer object toquery.
///
///
/// Specifies the parameter of attachment to query.
///
///
/// Returns the value of parameter pname for attachment.
///
public static void GetFramebufferAttachmentParameter(uint target, uint attachment, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetFramebufferAttachmentParameteriv(target, attachment, pname, Params);
///
/// glGenerateMipmap, glGenerateTextureMipmap — generate mipmaps for a specified texture object
///
///
/// Specifies the target to which the texture object isbound for glGenerateMipmap. Must beone of GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_CUBE_MAP, or GL_TEXTURE_CUBE_MAP_ARRAY.
///
public static void GenerateMipmap(uint target) => build_in.ExtensionFunctionsForCurrent.glGenerateMipmap(target);
///
/// glBlitFramebuffer, glBlitNamedFramebuffer — copy a block of pixels from one framebuffer object to another
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT and GL_STENCIL_BUFFER_BIT.
///
///
/// Specifies the interpolation to be applied if the image is stretched. Must be GL_NEAREST or GL_LINEAR.
///
public static void BlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) => build_in.ExtensionFunctionsForCurrent.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
///
/// glRenderbufferStorageMultisample, glNamedRenderbufferStorageMultisample — establish data storage, format, dimensions and sample count ofa renderbuffer object's image
///
///
/// Specifies a binding target of the allocation for glRenderbufferStorageMultisample function. Mustbe GL_RENDERBUFFER.
///
///
/// Specifies the number of samples to be used for therenderbuffer object's storage.
///
///
/// Specifies the internal format to use for the renderbufferobject's image.
///
///
/// Specifies the width of the renderbuffer, in pixels.
///
///
/// Specifies the height of the renderbuffer, in pixels.
///
public static void RenderbufferStorageMultisample(uint target, int samples, uint internalformat, int width, int height) => build_in.ExtensionFunctionsForCurrent.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
///
/// glFramebufferTextureLayer, glNamedFramebufferTextureLayer — attach a single layer of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor glFramebufferTextureLayer.
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// Specifies the name of an existing texture object toattach.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
///
/// Specifies the layer of the texture object toattach.
///
public static void FramebufferTextureLayer(uint target, uint attachment, uint texture, int level, int layer) => build_in.ExtensionFunctionsForCurrent.glFramebufferTextureLayer(target, attachment, texture, level, layer);
///
/// glMapBufferRange, glMapNamedBufferRange — map all or part of a buffer object's data store into the client's address space
///
///
/// Specifies the target to which the buffer object is boundfor glMapBufferRange, which must beone of the buffer binding targets in the followingtable:
/// GL_ARRAY_BUFFER ,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_UNIFORM_BUFFER,
/// GL_ELEMENT_ARRAY_BUFFER,GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,
///
///
/// Specifies the starting offset within the buffer of therange to be mapped.
///
///
/// Specifies the length of the range to be mapped.
///
///
/// Specifies a combination of access flags indicating thedesired access to the mapped range.
///
public static void MapBufferRange(uint target, int offset, int length, uint access) => build_in.ExtensionFunctionsForCurrent.glMapBufferRange(target, offset, length, access);
///
/// glFlushMappedBufferRange, glFlushMappedNamedBufferRange — indicate modifications to a range of a mapped buffer
///
///
/// Specifies the target to which the buffer object is boundfor glFlushMappedBufferRange, whichmust be one of the buffer binding targets in thefollowing table:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER,
/// GL_PIXEL_PACK_BUFFER ,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the start of the buffer subrange, in basic machine units.
///
///
/// Specifies the length of the buffer subrange, in basic machine units.
///
public static void FlushMappedBufferRange(uint target, int offset, int length) => build_in.ExtensionFunctionsForCurrent.glFlushMappedBufferRange(target, offset, length);
///
/// glBindVertexArray — bind a vertex array object
///
///
/// Specifies the name of the vertex array to bind.
///
public static void BindVertexArray(uint array) => build_in.ExtensionFunctionsForCurrent.glBindVertexArray(array);
///
/// glDeleteVertexArrays — delete vertex array objects
///
///
/// Specifies the number of vertex array objects to be deleted.
///
///
/// Specifies the address of an array containing the n names of the objects to be deleted.
///
public static void DeleteVertexArrays(int n, uint[] arrays) => build_in.ExtensionFunctionsForCurrent.glDeleteVertexArrays(n, arrays);
///
/// glGenVertexArrays — generate vertex array object names
///
///
/// Specifies the number of vertex array object names to generate
///
///
/// Specifies an array in which the generated vertex array object names are stored.
///
public static void GenVertexArrays(int n, uint[] arrays) => build_in.ExtensionFunctionsForCurrent.glGenVertexArrays(n, arrays);
///
/// glIsVertexArray — determine if a name corresponds to a vertex array object
///
///
/// Specifies a value that may be the name of a vertex array object.
///
///
/// glIsVertexArray returns GL_TRUE if array is currently the name of a vertex arrayobject. If array is zero, or if array is not the name of a vertex array object, or if an erroroccurs, glIsVertexArray returns GL_FALSE.
///
public static bool IsVertexArray(uint array) => build_in.ExtensionFunctionsForCurrent.glIsVertexArray(array);
///
/// glDrawArraysInstanced — draw multiple instances of a range of elements
///
///
/// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Specifies the starting index in the enabled arrays.
///
///
/// Specifies the number of indices to be rendered.
///
///
/// Specifies the number of instances of the specified range of indices to be rendered.
///
public static void DrawArraysInstanced(uint mode, int first, int count, int instancecount) => build_in.ExtensionFunctionsForCurrent.glDrawArraysInstanced(mode, first, count, instancecount);
///
/// glDrawElementsInstanced — draw multiple instances of a set of elements
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies the number of instances of the specified range of indices to be rendered.
///
public static void DrawElementsInstanced(uint mode, int count, uint type, IntPtr indices, int instancecount) => build_in.ExtensionFunctionsForCurrent.glDrawElementsInstanced(mode, count, type, indices, instancecount);
///
/// glTexBuffer, glTextureBuffer — attach a buffer object's data store to a buffer texture object
///
///
/// Specifies the target to which the texture is bound for glTexBuffer. Must be GL_TEXTURE_BUFFER.
///
///
/// Specifies the internal format of the data in the storebelonging to buffer.
///
///
/// Specifies the name of the buffer object whose storage toattach to the active buffer texture.
///
public static void TexBuffer(uint target, uint internalformat, uint buffer) => build_in.ExtensionFunctionsForCurrent.glTexBuffer(target, internalformat, buffer);
///
/// glPrimitiveRestartIndex — specify the primitive restart index
///
///
/// Specifies the value to be interpreted as the primitive restart index.
///
public static void PrimitiveRestartIndex(uint index) => build_in.ExtensionFunctionsForCurrent.glPrimitiveRestartIndex(index);
///
/// glCopyBufferSubData, glCopyNamedBufferSubData — copy all or part of the data store of a buffer object to the data store of another buffer object
///
///
/// Specifies the target to which the source buffer objectis bound for glCopyBufferSubData
///
///
/// Specifies the target to which the destination bufferobject is bound for glCopyBufferSubData.
///
///
/// Specifies the offset, in basic machine units, within thedata store of the source buffer object at which datawill be read.
///
///
/// Specifies the offset, in basic machine units, within thedata store of the destination buffer object at whichdata will be written.
///
///
/// Specifies the size, in basic machine units, of the datato be copied from the source buffer object to thedestination buffer object.
///
public static void CopyBufferSubData(uint readTarget, uint writeTarget, int readOffset, int writeOffset, int size) => build_in.ExtensionFunctionsForCurrent.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
///
/// glGetUniformIndices — retrieve the index of a named uniform block
///
///
/// Specifies the name of a program containing uniforms whose indices to query.
///
///
/// Specifies the number of uniforms whose indices to query.
///
///
/// Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.
///
///
/// Specifies the address of an array that will receive the indices of the uniforms.
///
public static void GetUniformIndices(uint program, int uniformCount, IntPtr[] uniformNames, uint[] uniformIndices) => build_in.ExtensionFunctionsForCurrent.glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
///
/// glGetActiveUniformsiv — Returns information about several active uniform variables for the specified program object
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies both the number of elements in the array ofindices uniformIndices and the number ofparameters written to params uponsuccessful return.
///
///
/// Specifies the address of an array of uniformCount integers containing theindices of uniforms within program whoseparameter pname should be queried.
///
///
/// Specifies the property of each uniform in uniformIndices that should be writteninto the corresponding element of params.
///
///
/// Specifies the address of an array of uniformCount integers which are toreceive the value of pname for eachuniform in uniformIndices.
///
public static void GetActiveUniforms(uint program, int uniformCount, uint[] uniformIndices, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, Params);
///
/// glGetActiveUniformName — query the name of an active uniform
///
///
/// Specifies the program containing the active uniform index uniformIndex.
///
///
/// Specifies the index of the active uniform whose name to query.
///
///
/// Specifies the size of the buffer, in units of GLchar, of the buffer whose address is specified in uniformName.
///
///
/// Specifies the address of a variable that will receive the number of characters that were or would have been written to the buffer addressed by uniformName.
///
///
/// Specifies the address of a buffer into which the GL will place the name of the active uniform at uniformIndex within program.
///
public static void GetActiveUniformName(uint program, uint uniformIndex, int bufSize, out int length, byte[] uniformName) => build_in.ExtensionFunctionsForCurrent.glGetActiveUniformName(program, uniformIndex, bufSize, out length, uniformName);
///
/// glGetUniformBlockIndex — retrieve the index of a named uniform block
///
///
/// Specifies the name of a program containing the uniform block.
///
///
/// Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.
///
///
/// glGetUniformBlockIndex retrieves the index of a uniform block within program.
///
public static uint GetUniformBlockIndex(uint program, byte[] uniformBlockName) => build_in.ExtensionFunctionsForCurrent.glGetUniformBlockIndex(program, uniformBlockName);
///
/// glGetActiveUniformBlock — query information about an active uniform block
///
///
/// Specifies the name of a program containing the uniform block.
///
///
/// Specifies the index of the uniform block within program.
///
///
/// Specifies the name of the parameter to query.
///
///
/// Specifies the address of a variable to receive the result of the query.
///
public static void GetActiveUniformBlock(uint program, uint uniformBlockIndex, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, Params);
///
/// glGetActiveUniformBlockName — retrieve the name of an active uniform block
///
///
/// Specifies the name of a program containing the uniform block.
///
///
/// Specifies the index of the uniform block within program.
///
///
/// Specifies the size of the buffer addressed by uniformBlockName.
///
///
/// Specifies the address of a variable to receive the number of characters that were written to uniformBlockName.
///
///
/// Specifies the address an array of characters to receive the name of the uniform block at uniformBlockIndex.
///
public static void GetActiveUniformBlockName(uint program, uint uniformBlockIndex, int bufSize, out int length, byte[] uniformBlockName) => build_in.ExtensionFunctionsForCurrent.glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, out length, uniformBlockName);
///
/// glUniformBlockBinding — assign a binding point to an active uniform block
///
///
/// The name of a program object containing the active uniform block whose binding to assign.
///
///
/// The index of the active uniform block within program whose binding to assign.
///
///
/// Specifies the binding point to which to bind the uniform block with index uniformBlockIndex within program.
///
public static void UniformBlockBinding(uint program, uint uniformBlockIndex, uint uniformBlockBinding) => build_in.ExtensionFunctionsForCurrent.glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
///
/// glDrawElementsBaseVertex — render primitives from array data with a per-element offset
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies a constant that should be added to each element of indiceswhen chosing elements from the enabled vertex arrays.
///
public static void DrawElementsBaseVertex(uint mode, int count, uint type, IntPtr indices, int basevertex) => build_in.ExtensionFunctionsForCurrent.glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
///
/// glDrawRangeElementsBaseVertex — render primitives from array data with a per-element offset
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
///
///
/// Specifies the minimum array index contained in indices.
///
///
/// Specifies the maximum array index contained in indices.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies a constant that should be added to each element of indiceswhen chosing elements from the enabled vertex arrays.
///
public static void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, int count, uint type, IntPtr indices, int basevertex) => build_in.ExtensionFunctionsForCurrent.glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
///
/// glDrawElementsInstancedBaseVertex — render multiple instances of a set of primitives from array data with a per-element offset
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies the number of instances of the indexed geometry that should be drawn.
///
///
/// Specifies a constant that should be added to each element of indiceswhen chosing elements from the enabled vertex arrays.
///
public static void DrawElementsInstancedBaseVertex(uint mode, int count, uint type, IntPtr indices, int instancecount, int basevertex) => build_in.ExtensionFunctionsForCurrent.glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
///
/// glMultiDrawElementsBaseVertex — render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Points to an array of the elements counts.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies the size of the count, indices and basevertex arrays.
///
///
/// Specifies a pointer to the location where the base vertices are stored.
///
public static void MultiDrawElementsBaseVertex(uint mode, int[] count, uint type, IntPtr[] indices, int drawcount, int[] basevertex) => build_in.ExtensionFunctionsForCurrent.glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
///
/// glProvokingVertex — specifiy the vertex to be used as the source of data for flat shaded varyings
///
///
/// Specifies the vertex to be used as the source of data for flat shaded varyings.
///
public static void ProvokingVertex(uint mode) => build_in.ExtensionFunctionsForCurrent.glProvokingVertex(mode);
///
/// glFenceSync — create a new sync object and insert it into the GL command stream
///
///
/// Specifies the condition that must be met to set the sync object's state to signaled. conditionmust be GL_SYNC_GPU_COMMANDS_COMPLETE.
///
///
/// Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently definedfor this operation and flags must be zero.
///
///
/// glFenceSync creates a new fence sync object, inserts a fence command into the GL command stream andassociates it with that sync object, and returns a non-zero name corresponding to the sync object.
///
public static IntPtr FenceSync(uint condition, uint flags) => build_in.ExtensionFunctionsForCurrent.glFenceSync(condition, flags);
///
/// glIsSync — determine if a name corresponds to a sync object
///
///
/// Specifies a value that may be the name of a sync object.
///
///
/// glIsSync returns GL_TRUE if sync is currently the name of a sync object.If sync is not the name of a sync object, or if an error occurs, glIsSync returns GL_FALSE. Note that zero is not the name of a sync object
///
public static bool IsSync(IntPtr sync) => build_in.ExtensionFunctionsForCurrent.glIsSync(sync);
///
/// glDeleteSync — delete a sync object
///
///
/// The sync object to be deleted
///
public static void DeleteSync(IntPtr sync) => build_in.ExtensionFunctionsForCurrent.glDeleteSync(sync);
///
/// glClientWaitSync — block and wait for a sync object to become signaled
///
///
/// The sync object whose status to wait on.
///
///
/// A bitfield controlling the command flushing behavior. flags may be GL_SYNC_FLUSH_COMMANDS_BIT.
///
///
/// The timeout, specified in nanoseconds, for which the implementation should wait for sync to become signaled.
///
///
/// The return value is one of four status values:
/// GL_ALREADY_SIGNALED,GL_TIMEOUT_EXPIRED,GL_CONDITION_SATISFIED,GL_WAIT_FAILED
///
public static uint ClientWaitSync(IntPtr sync, uint flags, UInt64 timeout) => build_in.ExtensionFunctionsForCurrent.glClientWaitSync(sync, flags, timeout);
///
/// glWaitSync — instruct the GL server to block until the specified sync object becomes signaled
///
///
/// Specifies the sync object whose status to wait on.
///
///
/// A bitfield controlling the command flushing behavior. flags may be zero.
///
///
/// Specifies the timeout that the server should wait before continuing. timeout must be GL_TIMEOUT_IGNORED.
///
public static void WaitSync(IntPtr sync, uint flags, UInt64 timeout) => build_in.ExtensionFunctionsForCurrent.glWaitSync(sync, flags, timeout);
///
/// glGet — return the value or values of a selected parameter
///
///
/// Specifies the parameter value to be returnedfor non-indexed versions of glGet.The symbolic constants in the list below are accepted.
///
///
/// Returns the value or values of the specified parameter.
///
public static void GetInteger(uint pname, Int64[] data) => build_in.ExtensionFunctionsForCurrent.glGetInteger64v(pname, data);
///
/// glGetSynciv — query the properties of a sync object
///
///
/// Specifies the sync object whose properties to query.
///
///
/// Specifies the parameter whose value to retrieve from the sync object specified in sync.
///
///
/// Specifies the size of the buffer whose address is given in values.
///
///
/// Specifies the address of an variable to receive the number of integers placed in values.
///
///
/// Specifies the address of an array to receive the values of the queried parameter.
///
public static void GetSync(IntPtr sync, uint pname, int bufSize, out int length, int[] values) => build_in.ExtensionFunctionsForCurrent.glGetSynciv(sync, pname, bufSize, out length, values);
///
/// glGet — return the value or values of a selected parameter
///
///
/// Specifies the parameter value to be returnedfor indexed versions of glGet.The symbolic constants in the list below are accepted.
///
///
/// Specifies the index of the particular element being queried.
///
///
/// Returns the value or values of the specified parameter.
///
public static void GetInteger(uint target, uint index, Int64[] data) => build_in.ExtensionFunctionsForCurrent.glGetInteger64i_v(target, index, data);
///
/// glGetBufferParameter — return parameters of a buffer object
///
///
/// Specifies the target to which the buffer object is boundfor glGetBufferParameteriv and glGetBufferParameteri64v. Must beone of the buffer binding targets in the followingtable:
/// GL_ARRAY_BUFFER ,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER,
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the name of the buffer object parameter to query.
///
///
/// Returns the requested parameter.
///
public static void GetBufferParameter(uint target, uint pname, Int64[] Params) => build_in.ExtensionFunctionsForCurrent.glGetBufferParameteri64v(target, pname, Params);
///
/// glFramebufferTexture — attach a level of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor all commands except glNamedFramebufferTexture.
///
///
/// Specifies the attachment point of the framebuffer
///
///
/// Specifies the name of an existing texture object toattach.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
public static void FramebufferTexture(uint target, uint attachment, uint texture, int level) => build_in.ExtensionFunctionsForCurrent.glFramebufferTexture(target, attachment, texture, level);
///
/// glTexImage2DMultisample — establish the data storage, format, dimensions, and number of samples of a multisample texture's image
///
///
/// Specifies the target of the operation. target must be GL_TEXTURE_2D_MULTISAMPLE or GL_PROXY_TEXTURE_2D_MULTISAMPLE.
///
///
/// The number of samples in the multisample texture's image.
///
///
/// The internal format to be used to store the multisample texture's image. internalformat must specify a color-renderable, depth-renderable, or stencil-renderable format.
///
///
/// The width of the multisample texture's image, in texels.
///
///
/// The height of the multisample texture's image, in texels.
///
///
/// Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will notdepend on the internal format or size of the image.
///
public static void TexImage2DMultisample(uint target, int samples, uint internalformat, int width, int height, bool fixedsamplelocations) => build_in.ExtensionFunctionsForCurrent.glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
///
/// glTexImage3DMultisample — establish the data storage, format, dimensions, and number of samples of a multisample texture's image
///
///
/// Specifies the target of the operation. target must be GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
///
///
/// The number of samples in the multisample texture's image.
///
///
/// The internal format to be used to store the multisample texture's image. internalformat must specify a color-renderable, depth-renderable, or stencil-renderable format.
///
///
/// The width of the multisample texture's image, in texels.
///
///
/// The height of the multisample texture's image, in texels.
///
///
/// The depth of the multisample texture's image, in texels.
///
///
/// Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will notdepend on the internal format or size of the image.
///
public static void TexImage3DMultisample(uint target, int samples, uint internalformat, int width, int height, int depth, bool fixedsamplelocations) => build_in.ExtensionFunctionsForCurrent.glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
///
/// glGetMultisamplefv — retrieve the location of a sample
///
///
/// Specifies the sample parameter name. pname must be GL_SAMPLE_POSITION.
///
///
/// Specifies the index of the sample whose position to query.
///
///
/// Specifies the address of an array to receive the position of the sample.
///
public static void GetMultisample(uint pname, uint index, float[] val) => build_in.ExtensionFunctionsForCurrent.glGetMultisamplefv(pname, index, val);
///
/// glSampleMaski — set the value of a sub-word of the sample mask
///
///
/// Specifies which 32-bit sub-word of the sample mask to update
///
///
/// Specifies the new value of the mask sub-word.
///
public static void SampleMask(uint maskNumber, uint mask) => build_in.ExtensionFunctionsForCurrent.glSampleMaski(maskNumber, mask);
///
/// glBindFragDataLocationIndexed — bind a user-defined varying out variable to a fragment shader color number and index
///
///
/// The name of the program containing varying out variable whose binding to modify
///
///
/// The color number to bind the user-defined varying out variable to
///
///
/// The index of the color input to bind the user-defined varying out variable to
///
///
/// The name of the user-defined varying out variable whose binding to modify
///
public static void BindFragDataLocationIndexed(uint program, uint colorNumber, uint index, byte[] name) => build_in.ExtensionFunctionsForCurrent.glBindFragDataLocationIndexed(program, colorNumber, index, name);
///
/// glGetFragDataIndex — query the bindings of color indices to user-defined varying out variables
///
///
/// The name of the program containing varying out variable whose binding to query
///
///
/// The name of the user-defined varying out variable whose index to query
///
///
/// glGetFragDataIndex returns the index of the fragment color to which the variable namewas bound when the program object program was last linked. If name is not a varying outvariable of program, or if an error occurs, -1 will be returned.
///
public static int GetFragDataIndex(uint program, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetFragDataIndex(program, name);
///
/// glGenSamplers — generate sampler object names
///
///
/// Specifies the number of sampler object names to generate
///
///
/// Specifies an array in which the generated sampler object names are stored.
///
public static void GenSamplers(int count, uint[] samplers) => build_in.ExtensionFunctionsForCurrent.glGenSamplers(count, samplers);
///
/// glDeleteSamplers — delete named sampler objects
///
///
/// Specifies the number of sampler objects to be deleted.
///
///
/// Specifies an array of sampler objects to be deleted.
///
public static void DeleteSamplers(int count, uint[] samplers) => build_in.ExtensionFunctionsForCurrent.glDeleteSamplers(count, samplers);
///
/// glIsSampler — determine if a name corresponds to a sampler object
///
///
/// Specifies a value that may be the name of a sampler object.
///
///
/// glIsSampler returns GL_TRUE if id is currently the name of a sampler object.If id is zero, or is a non-zero value that is not currently thename of a sampler object, or if an error occurs, glIsSampler returns GL_FALSE
///
public static bool IsSampler(uint sampler) => build_in.ExtensionFunctionsForCurrent.glIsSampler(sampler);
///
/// glBindSampler — bind a named sampler to a texturing target
///
///
/// Specifies the index of the texture unit to which the sampler is bound.
///
///
/// Specifies the name of a sampler.
///
public static void BindSampler(uint unit, uint sampler) => build_in.ExtensionFunctionsForCurrent.glBindSampler(unit, sampler);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the scalar commands, specifies the value of pname.
///
public static void SamplerParameter(uint sampler, uint pname, int Param) => build_in.ExtensionFunctionsForCurrent.glSamplerParameteri(sampler, pname, Param);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void SamplerParameter(uint sampler, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glSamplerParameteriv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the scalar commands, specifies the value of pname.
///
public static void SamplerParameter(uint sampler, uint pname, float Param) => build_in.ExtensionFunctionsForCurrent.glSamplerParameterf(sampler, pname, Param);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void SamplerParameter(uint sampler, uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glSamplerParameterfv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void SamplerParameterI(uint sampler, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glSamplerParameterIiv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void SamplerParameterI(uint sampler, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glSamplerParameterIuiv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void GetSamplerParameter(uint sampler, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetSamplerParameteriv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void GetSamplerParameterI(uint sampler, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetSamplerParameterIiv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void GetSamplerParameter(uint sampler, uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glGetSamplerParameterfv(sampler, pname, Params);
///
/// glSamplerParameter — set sampler parameters
///
///
/// Specifies the sampler object whose parameter to modify.
///
///
/// Specifies the symbolic name of a sampler parameter. pname can be one of thefollowing: GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER,
/// GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_LOD_BIAS GL_TEXTURE_COMPARE_MODE, or GL_TEXTURE_COMPARE_FUNC.
///
///
/// For the vector commands(glSamplerParameter*v), specifies apointer to an array where the value or values of pname are stored
///
public static void GetSamplerParameterI(uint sampler, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetSamplerParameterIuiv(sampler, pname, Params);
///
/// glQueryCounter — record the GL time into a query object after all previous commands have reached the GL server but have not yet necessarily executed.
///
///
/// Specify the name of a query object into which to record the GL time.
///
///
/// Specify the counter to query. target must be GL_TIMESTAMP.
///
public static void QueryCounter(uint id, uint target) => build_in.ExtensionFunctionsForCurrent.glQueryCounter(id, target);
///
/// glGetQueryObject — return parameters of a query object
///
///
/// Specifies the name of a query object.
///
///
/// Specifies the symbolic name of a query object parameter.Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
///
///
/// If a buffer is bound to the GL_QUERY_RESULT_BUFFER target, then paramsis treated as an offset to a location within that buffer's data store to receive the result of the query.
/// Ifno buffer is bound to GL_QUERY_RESULT_BUFFER, then params istreated as an address in client memory of a variable to receive the resulting data.
///
public static void GetQueryObject(uint id, uint pname, Int64[] Params) => build_in.ExtensionFunctionsForCurrent.glGetQueryObjecti64v(id, pname, Params);
///
/// glGetQueryObject — return parameters of a query object
///
///
/// Specifies the name of a query object.
///
///
/// Specifies the symbolic name of a query object parameter.Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
///
///
/// If a buffer is bound to the GL_QUERY_RESULT_BUFFER target, then paramsis treated as an offset to a location within that buffer's data store to receive the result of the query.
/// Ifno buffer is bound to GL_QUERY_RESULT_BUFFER, then params istreated as an address in client memory of a variable to receive the resulting data.
///
public static void GetQueryObject(uint id, uint pname, UInt64[] Params) => build_in.ExtensionFunctionsForCurrent.glGetQueryObjectui64v(id, pname, Params);
///
/// glVertexAttribDivisor — modify the rate at which generic vertex attributes advance during instanced rendering
///
///
/// Specify the index of the generic vertex attribute.
///
///
/// Specify the number of instances that will pass between updates of the generic attribute at slot index.
///
public static void VertexAttribDivisor(uint index, uint divisor) => build_in.ExtensionFunctionsForCurrent.glVertexAttribDivisor(index, divisor);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the packed commands, specifies the new packed value tobe used for the specified vertex attribute.
///
public static void VertexAttribP1(uint index, uint type, bool normalized, uint value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP1ui(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribP1uiv(uint index, uint type, bool normalized, uint[] value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP1uiv(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the packed commands, specifies the new packed value tobe used for the specified vertex attribute.
///
public static void VertexAttribP2(uint index, uint type, bool normalized, uint value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP2ui(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribP2(uint index, uint type, bool normalized, uint[] value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP2uiv(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the packed commands, specifies the new packed value tobe used for the specified vertex attribute.
///
public static void VertexAttribP3(uint index, uint type, bool normalized, uint value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP3ui(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribP3(uint index, uint type, bool normalized, uint[] value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP3uiv(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the packed commands, specifies the new packed value tobe used for the specified vertex attribute.
///
public static void VertexAttribP4(uint index, uint type, bool normalized, uint value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP4ui(index, type, normalized, value);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the packed commands(glVertexAttribP*), specified the typeof packing used on the data. This parameter must be GL_INT_2_10_10_10_REV or
/// GL_UNSIGNED_INT_2_10_10_10_REV, tospecify signed or unsigned data, respectively, or GL_UNSIGNED_INT_10F_11F_11F_REV tospecify floating point data.
///
///
/// For the packed commands, if GL_TRUE,then the values are to be converted to floating point valuesby normalizing. Otherwise, they are converted directly tofloating-point values.
/// If typeindicates a floating-pont format, then normalized value must be GL_FALSE.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribP4(uint index, uint type, bool normalized, uint[] value) => build_in.ExtensionFunctionsForCurrent.glVertexAttribP4uiv(index, type, normalized, value);
///
/// glMinSampleShading — specifies minimum rate at which sample shaing takes place
///
///
/// Specifies the rate at which samples are shaded within each covered pixel.
///
public static void MinSampleShading(float value) => build_in.ExtensionFunctionsForCurrent.glMinSampleShading(value);
///
/// glBlendEquation — specify the equation used for both the RGB blend equation and the Alpha blend equation
///
///
/// for glBlendEquationi, specifies the index of the draw bufferfor which to set the blend equation.
///
///
/// specifies how source and destination colors are combined.It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
///
public static void BlendEquation(uint buf, uint mode) => build_in.ExtensionFunctionsForCurrent.glBlendEquationi(buf, mode);
///
/// glBlendEquationSeparate — set the RGB blend equation and the alpha blend equation separately
///
///
/// for glBlendEquationSeparatei, specifies the index of the draw buffer for whichto set the blend equations.
///
///
/// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined.It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
///
///
/// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined.It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
///
public static void BlendEquationSeparate(uint buf, uint modeRGB, uint modeAlpha) => build_in.ExtensionFunctionsForCurrent.glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
///
/// glBlendFunc — specify pixel arithmetic
///
///
/// For glBlendFunci, specifies the index of the drawbuffer for which to set the blend function.
///
///
/// Specifies how the red, green, blue,and alpha source blending factors are computed.The initial value is GL_ONE.
///
///
/// Specifies how the red, green, blue,and alpha destination blending factors are computed.The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR,
/// GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR,
/// GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA.The initial value is GL_ZERO.
///
public static void BlendFunc(uint buf, uint src, uint dst) => build_in.ExtensionFunctionsForCurrent.glBlendFunci(buf, src, dst);
///
/// glBlendFuncSeparate — specify pixel arithmetic for RGB and alpha components separately
///
///
/// For glBlendFuncSeparatei, specifies the index of the drawbuffer for which to set the blend functions.
///
///
/// Specifies how the red, green, and blue blending factors are computed.The initial value is GL_ONE.
///
///
/// Specifies how the red, green, and blue destination blending factors arecomputed.The initial value is GL_ZERO.
///
///
/// Specified how the alpha source blending factor is computed.The initial value is GL_ONE
///
///
/// Specified how the alpha destination blending factor is computed.The initial value is GL_ZERO
///
public static void BlendFuncSeparate(uint buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha) => build_in.ExtensionFunctionsForCurrent.glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
///
/// glDrawArraysIndirect — render primitives from array data, taking parameters from memory
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the address of a structure containing the draw parameters.
///
public static void DrawArraysIndirect(uint mode, IntPtr indirect) => build_in.ExtensionFunctionsForCurrent.glDrawArraysIndirect(mode, indirect);
///
/// glDrawElementsIndirect — render indexed primitives from array data, taking parameters from memory
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding.
///
///
/// Specifies the address of a structure containing the draw parameters.
///
public static void DrawElementsIndirect(uint mode, uint type, IntPtr indirect) => build_in.ExtensionFunctionsForCurrent.glDrawElementsIndirect(mode, type, indirect);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
public static void Uniform1(int location, double x) => build_in.ExtensionFunctionsForCurrent.glUniform1d(location, x);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
public static void Uniform2(int location, double x, double y) => build_in.ExtensionFunctionsForCurrent.glUniform2d(location, x, y);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
public static void Uniform3(int location, double x, double y, double z) => build_in.ExtensionFunctionsForCurrent.glUniform3d(location, x, y, z);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable
///
public static void Uniform4(int location, double x, double y, double z, double w) => build_in.ExtensionFunctionsForCurrent.glUniform4d(location, x, y, z, w);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform1(int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniform1dv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform2(int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniform2dv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform3(int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniform3dv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector (glUniform*v) commands,specifies the number of elements that are to be modified.This should be 1 if the targeted uniform variable is not anarray, and 1 or more if it is an array.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void Uniform4(int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniform4dv(location, count, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix2(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix2dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix3(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix3dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix4(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix4dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix2x3(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix2x3dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix2x4(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix2x4dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix3x2(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix3x2dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix3x4(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix3x4dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix4x2(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix4x2dv(location, count, transpose, value);
///
/// glUniform — Specify the value of a uniform variable for the current program object
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix (glUniformMatrix*)commands, specifies the number of matrices that are to bemodified. This should be 1 if the targeted uniform variableis not an array of matrices, and 1 or more if it is an arrayof matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the vector and matrix commands, specifies a pointer toan array of count values that will beused to update the specified uniform variable.
///
public static void UniformMatrix4x3(int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glUniformMatrix4x3dv(location, count, transpose, value);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetUniform(uint program, int location, double[] Params) => build_in.ExtensionFunctionsForCurrent.glGetUniformdv(program, location, Params);
///
/// glGetSubroutineUniformLocation — retrieve the location of a subroutine uniform of a given shader stage within a program
///
///
/// Specifies the name of the program containing shader stage.
///
///
/// Specifies the shader stage from which to query for subroutine uniform index. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the name of the subroutine uniform whose index to query.
///
///
/// glGetSubroutineUniformLocation returns the location of the subroutine uniform variable name in the shader stage of type shadertype attached to program, with behavior otherwise identical to glGetUniformLocation.
///
public static int GetSubroutineUniformLocation(uint program, uint shadertype, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetSubroutineUniformLocation(program, shadertype, name);
///
/// glGetSubroutineIndex — retrieve the index of a subroutine uniform of a given shader stage within a program
///
///
/// Specifies the name of the program containing shader stage.
///
///
/// Specifies the shader stage from which to query for subroutine uniform index. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the name of the subroutine uniform whose index to query.
///
///
/// glGetSubroutineIndex returns the index of a subroutine uniform within a shader stage attached to a program object.
///
public static int GetSubroutineIndex(uint program, uint shadertype, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetSubroutineIndex(program, shadertype, name);
///
/// glGetActiveSubroutineUniform — query a property of an active shader subroutine uniform
///
///
/// Specifies the name of the program containing the subroutine.
///
///
/// Specifies the shader stage from which to query for the subroutine parameter. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the index of the shader subroutine uniform.
///
///
/// Specifies the parameter of the shader subroutine uniform to query. pnamemust be GL_NUM_COMPATIBLE_SUBROUTINES, GL_COMPATIBLE_SUBROUTINES, GL_UNIFORM_SIZE or GL_UNIFORM_NAME_LENGTH.
///
///
/// Specifies the address of a into which the queried value or values will be placed.
///
public static void GetActiveSubroutineUniform(uint program, uint shadertype, uint index, uint pname, int[] values) => build_in.ExtensionFunctionsForCurrent.glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
///
/// glGetActiveSubroutineUniformName — query the name of an active shader subroutine uniform
///
///
/// Specifies the name of the program containing the subroutine
///
///
/// Specifies the shader stage from which to query for the subroutine parameter. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the index of the shader subroutine uniform.
///
///
/// Specifies the size of the buffer whose address is given in name.
///
///
/// Specifies the address of a variable into which is written the number of characters copied into name.
///
///
/// Specifies the address of a buffer that will receive the name of the specified shader subroutine uniform.
///
public static void GetActiveSubroutineUniformName(uint program, uint shadertype, uint index, int bufsize, out int length, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetActiveSubroutineUniformName(program, shadertype, index, bufsize, out length, name);
///
/// glGetActiveSubroutineName — query the name of an active shader subroutine
///
///
/// Specifies the name of the program containing the subroutine.
///
///
/// Specifies the shader stage from which to query the subroutine name.
///
///
/// Specifies the index of the shader subroutine uniform.
///
///
/// Specifies the size of the buffer whose address is given in name.
///
///
/// Specifies the address of a variable which is to receive the length of the shader subroutine uniform name.
///
///
/// Specifies the address of an array into which the name of the shader subroutine uniform will be written
///
public static void GetActiveSubroutineName(uint program, uint shadertype, uint index, int bufsize, out int length, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetActiveSubroutineName(program, shadertype, index, bufsize, out length, name);
///
/// glUniformSubroutines — load active subroutine uniforms
///
///
/// Specifies the shader stage from which to query for subroutine uniform index. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the number of uniform indices stored in indices.
///
///
/// Specifies the address of an array holding the indices to load into the shader subroutine variables.
///
public static void UniformSubroutines(uint shadertype, int count, uint[] indices) => build_in.ExtensionFunctionsForCurrent.glUniformSubroutinesuiv(shadertype, count, indices);
///
/// glGetUniformSubroutine — retrieve the value of a subroutine uniform of a given shader stage of the current program
///
///
/// Specifies the shader stage from which to query for subroutine uniform index. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the location of the subroutine uniform.
///
///
/// Specifies the address of a variable to receive the value or values of the subroutine uniform.
///
public static void GetUniformSubroutine(uint shadertype, int location, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetUniformSubroutineuiv(shadertype, location, Params);
///
/// glGetProgramStage — retrieve properties of a program object corresponding to a specified shader stage
///
///
/// Specifies the name of the program containing shader stage.
///
///
/// Specifies the shader stage from which to query for the subroutine parameter. shadertypemust be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the parameter of the shader to query. pnamemust be GL_ACTIVE_SUBROUTINE_UNIFORMS, GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS, GL_ACTIVE_SUBROUTINES, GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,or GL_ACTIVE_SUBROUTINE_MAX_LENGTH.
///
///
/// Specifies the address of a variable into which the queried value or values will be placed.
///
public static void GetProgramStage(uint program, uint shadertype, uint pname, int[] values) => build_in.ExtensionFunctionsForCurrent.glGetProgramStageiv(program, shadertype, pname, values);
///
/// glPatchParameter — specifies the parameters for patch primitives
///
///
/// Specifies the name of the parameter to set. The symbolc constants GL_PATCH_VERTICES, GL_PATCH_DEFAULT_OUTER_LEVEL, and GL_PATCH_DEFAULT_INNER_LEVEL are accepted.
///
///
/// Specifies the new value for the parameter given by pname
///
public static void PatchParameter(uint pname, int value) => build_in.ExtensionFunctionsForCurrent.glPatchParameteri(pname, value);
///
/// glPatchParameter — specifies the parameters for patch primitives
///
///
/// Specifies the name of the parameter to set. The symbolc constants GL_PATCH_VERTICES, GL_PATCH_DEFAULT_OUTER_LEVEL, and GL_PATCH_DEFAULT_INNER_LEVEL are accepted.
///
///
/// Specifies the address of an array containing the new values for the parameter given by pname.
///
public static void PatchParameter(uint pname, float[] values) => build_in.ExtensionFunctionsForCurrent.glPatchParameterfv(pname, values);
///
/// glBindTransformFeedback — bind a transform feedback object
///
///
/// Specifies the target to which to bind the transform feedback object id. targetmust be GL_TRANSFORM_FEEDBACK.
///
///
/// Specifies the name of a transform feedback object reserved by glGenTransformFeedbacks.
///
public static void BindTransformFeedback(uint target, uint id) => build_in.ExtensionFunctionsForCurrent.glBindTransformFeedback(target, id);
///
/// glDeleteTransformFeedbacks — delete transform feedback objects
///
///
/// Specifies the number of transform feedback objects to delete.
///
///
/// Specifies an array of names of transform feedback objects to delete
///
public static void DeleteTransformFeedbacks(int n, uint[] ids) => build_in.ExtensionFunctionsForCurrent.glDeleteTransformFeedbacks(n, ids);
///
/// glGenTransformFeedbacks — reserve transform feedback object names
///
///
/// Specifies the number of transform feedback object names to reserve.
///
///
/// Specifies an array of into which the reserved names will be written.
///
public static void GenTransformFeedbacks(int n, uint[] ids) => build_in.ExtensionFunctionsForCurrent.glGenTransformFeedbacks(n, ids);
///
/// glIsTransformFeedback — determine if a name corresponds to a transform feedback object
///
///
/// Specifies a value that may be the name of a transform feedback object.
///
///
/// glIsTransformFeedback returns GL_TRUE if id is currently the name of a transform feedbackobject. If id is zero, or if id is not the name of a transform feedback object, or if an erroroccurs, glIsTransformFeedback returns GL_FALSE.
///
public static bool IsTransformFeedback(uint id) => build_in.ExtensionFunctionsForCurrent.glIsTransformFeedback(id);
///
/// glPauseTransformFeedback — pause transform feedback operations
///
public static void PauseTransformFeedback() => build_in.ExtensionFunctionsForCurrent.glPauseTransformFeedback();
///
/// glResumeTransformFeedback — resume transform feedback operations
///
public static void ResumeTransformFeedback() => build_in.ExtensionFunctionsForCurrent.glResumeTransformFeedback();
///
/// glDrawTransformFeedback — render primitives using a count derived from a transform feedback object
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP,
/// GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the name of a transform feedback object from which to retrieve a primitive count.
///
public static void DrawTransformFeedback(uint mode, uint id) => build_in.ExtensionFunctionsForCurrent.glDrawTransformFeedback(mode, id);
///
/// glDrawTransformFeedbackStream — render primitives using a count derived from a specifed stream of a transform feedback object
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP,
/// GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the name of a transform feedback object from which to retrieve a primitive count.
///
///
/// Specifies the index of the transform feedback stream from which to retrieve a primitive count.
///
public static void DrawTransformFeedbackStream(uint mode, uint id, uint stream) => build_in.ExtensionFunctionsForCurrent.glDrawTransformFeedbackStream(mode, id, stream);
///
/// glBeginQueryIndexed, glEndQueryIndexed — delimit the boundaries of a query object on an indexed target
///
///
/// Specifies the target type of query object established between glBeginQueryIndexed and the subsequent glEndQueryIndexed.
/// symbolic constant must be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED, GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or GL_TIME_ELAPSED.
///
///
/// Specifies the index of the query target upon which to begin the query.
///
///
/// Specifies the name of a query object.
///
public static void BeginQueryIndexed(uint target, uint index, uint id) => build_in.ExtensionFunctionsForCurrent.glBeginQueryIndexed(target, index, id);
///
/// glBeginQueryIndexed, glEndQueryIndexed — delimit the boundaries of a query object on an indexed target
///
///
/// Specifies the target type of query object established between glBeginQueryIndexed and the subsequent glEndQueryIndexed.
/// symbolic constant must be one of GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED, GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, or GL_TIME_ELAPSED.
///
///
/// Specifies the index of the query target upon which to begin the query.
///
public static void EndQueryIndexed(uint target, uint index) => build_in.ExtensionFunctionsForCurrent.glEndQueryIndexed(target, index);
///
/// glGetQueryIndexediv — return parameters of an indexed query object target
///
///
/// Specifies a query object target.Must be GL_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED, GL_ANY_SAMPLES_PASSED_CONSERVATIVE GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_TIME_ELAPSED, or GL_TIMESTAMP.
///
///
/// Specifies the index of the query object target.
///
///
/// Specifies the symbolic name of a query object target parameter.Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS.
///
///
/// Returns the requested data.
///
public static void GetQueryIndexed(uint target, uint index, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetQueryIndexediv(target, index, pname, Params);
///
/// glReleaseShaderCompiler — release resources consumed by the implementation's shader compiler
///
public static void ReleaseShaderCompiler() => build_in.ExtensionFunctionsForCurrent.glReleaseShaderCompiler();
///
/// glShaderBinary — load pre-compiled shader binaries
///
///
/// Specifies the number of shader object handles contained in shaders.
///
///
/// Specifies the address of an array of shader handles into which to load pre-compiled shader binaries.
///
///
/// Specifies the format of the shader binaries contained in binary.
///
///
/// Specifies the address of an array of bytes containing pre-compiled binary shader code.
///
///
/// Specifies the length of the array whose address is given in binary.
///
public static void ShaderBinary(int count, uint[] shaders, uint binaryformat, IntPtr binary, int length) => build_in.ExtensionFunctionsForCurrent.glShaderBinary(count, shaders, binaryformat, binary, length);
///
/// glGetShaderPrecisionFormat — retrieve the range and precision for numeric formats supported by the shader compiler
///
///
/// Specifies the type of shader whose precision to query. shaderTypemust be GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
///
///
/// Specifies the numeric format whose precision and range to query.
///
///
/// Specifies the address of array of two integers into which encodings of the implementation'snumeric range are returned.
///
///
/// Specifies the address of an integer into which the numeric precision of the implementationis written.
///
public static void GetShaderPrecisionFormat(uint shadertype, uint precisiontype, int[] range, out int precision) => build_in.ExtensionFunctionsForCurrent.glGetShaderPrecisionFormat(shadertype, precisiontype, range,out precision);
///
/// glDepthRange — specify mapping of depth values from normalized device coordinates to window coordinates
///
///
/// Specifies the mapping of the near clipping plane to window coordinates.The initial value is 0.
///
///
/// Specifies the mapping of the far clipping plane to window coordinates.The initial value is 1.
///
public static void DepthRange(float n, float f) => build_in.ExtensionFunctionsForCurrent.glDepthRangef(n, f);
///
/// glClearDepth — specify the clear value for the depth buffer
///
///
/// Specifies the depth value used when the depth buffer is cleared. Theinitial value is 1.
///
public static void ClearDepthf(float d) => build_in.ExtensionFunctionsForCurrent.glClearDepthf(d);
///
/// glGetProgramBinary — return a binary representation of a program object's compiled and linked executable source
///
///
/// Specifies the name of a program object whose binary representation to retrieve.
///
///
/// Specifies the size of the buffer whose address is given by binary.
///
///
/// Specifies the address of a variable to receive the number of bytes written into binary.
///
///
/// Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL.
///
///
/// Specifies the address an array into which the GL will return program's binary representation.
///
public static void GetProgramBinary(uint program, int bufSize, out int length, out uint binaryFormat, IntPtr binary) => build_in.ExtensionFunctionsForCurrent.glGetProgramBinary(program, bufSize, out length, out binaryFormat, binary);
///
/// glProgramBinary — load a program object with a program binary
///
///
/// Specifies the name of a program object into which to load a program binary.
///
///
/// Specifies the format of the binary data in binary.
///
///
/// Specifies the address an array containing the binary to be loaded into program.
///
///
/// Specifies the number of bytes contained in binary.
///
public static void ProgramBinary(uint program, uint binaryFormat, IntPtr binary, int length) => build_in.ExtensionFunctionsForCurrent.glProgramBinary(program, binaryFormat, binary, length);
///
/// glProgramParameter — specify a parameter for a program object
///
///
/// Specifies the name of a program object whose parameter to modify.
///
///
/// Specifies the name of the parameter to modify.
///
///
/// Specifies the new value of the parameter specified by pname for program.
///
public static void ProgramParameter(uint program, uint pname, int value) => build_in.ExtensionFunctionsForCurrent.glProgramParameteri(program, pname, value);
///
/// glUseProgramStages — bind stages of a program object to a program pipeline
///
///
/// Specifies the program pipeline object to which to bind stages from program.
///
///
/// Specifies a set of program stages to bind to the program pipeline object.
///
///
/// Specifies the program object containing the shader executables to use in pipeline.
///
public static void UseProgramStages(uint pipeline, uint stages, uint program) => build_in.ExtensionFunctionsForCurrent.glUseProgramStages(pipeline, stages, program);
///
/// glActiveShaderProgram — set the active program object for a program pipeline object
///
///
/// Specifies the program pipeline object to set the active program object for.
///
///
/// Specifies the program object to set as the active program pipeline object pipeline.
///
public static void ActiveShaderProgram(uint pipeline, uint program) => build_in.ExtensionFunctionsForCurrent.glActiveShaderProgram(pipeline, program);
///
/// glCreateShaderProgramv — create a stand-alone program from an array of null-terminated source code strings
///
///
/// Specifies the type of shader to create.
///
///
/// Specifies the number of source code strings in the array strings.
///
///
/// Specifies the address of an array of pointers to source code strings from which to create the program object.
///
///
/// glCreateShaderProgram creates a program object containing compiled and linkedshaders for a single stage specified by type.
///
public static uint CreateShaderProgram(uint type, int count, IntPtr[] strings) => build_in.ExtensionFunctionsForCurrent.glCreateShaderProgramv(type, count, strings);
///
/// glBindProgramPipeline — bind a program pipeline to the current context
///
///
/// Specifies the name of the pipeline object to bind to the context.
///
public static void BindProgramPipeline(uint pipeline) => build_in.ExtensionFunctionsForCurrent.glBindProgramPipeline(pipeline);
///
/// glDeleteProgramPipelines — delete program pipeline objects
///
///
/// Specifies the number of program pipeline objects to delete
///
///
/// Specifies an array of names of program pipeline objects to delete.
///
public static void DeleteProgramPipelines(int n, uint[] pipelines) => build_in.ExtensionFunctionsForCurrent.glDeleteProgramPipelines(n, pipelines);
///
/// glGenProgramPipelines — reserve program pipeline object names
///
///
/// Specifies the number of program pipeline object names to reserve.
///
///
/// Specifies an array of into which the reserved names will be written.
///
public static void GenProgramPipelines(int n, uint[] pipelines) => build_in.ExtensionFunctionsForCurrent.glGenProgramPipelines(n, pipelines);
///
/// glIsProgramPipeline — determine if a name corresponds to a program pipeline object
///
///
/// Specifies a value that may be the name of a program pipeline object.
///
///
/// glIsProgramPipeline returns GL_TRUE if pipeline is currently the name of a program pipeline object..If pipeline is zero, or if pipeline is not thename of a program pipeline object, or if an error occurs, glIsProgramPipelinereturns GL_FALSE.
///
public static bool IsProgramPipeline(uint pipeline) => build_in.ExtensionFunctionsForCurrent.glIsProgramPipeline(pipeline);
///
/// glGetProgramPipeline — retrieve properties of a program pipeline object
///
///
/// Specifies the name of a program pipeline object whose parameter retrieve.
///
///
/// Specifies the name of the parameter to retrieve.
///
///
/// Specifies the address of a variable into which will be written the value or valuesof pname for pipeline.
///
public static void GetProgramPipeline(uint pipeline, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetProgramPipelineiv(pipeline, pname, Params);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, int v0) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1i(program, location, v0);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1iv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, float v0) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1f(program, location, v0);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1fv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, double v0) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1d(program, location, v0);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1dv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, uint v0) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1ui(program, location, v0);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform1(uint program, int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform1uiv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, int v0, int v1) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2i(program, location, v0, v1);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2iv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, float v0, float v1) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2f(program, location, v0, v1);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2fv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, double v0, double v1) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2d(program, location, v0, v1);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2dv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, uint v0, uint v1) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2ui(program, location, v0, v1);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform2(uint program, int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform2uiv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, int v0, int v1, int v2) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3i(program, location, v0, v1, v2);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3iv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, float v0, float v1, float v2) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3f(program, location, v0, v1, v2);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3fv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, double v0, double v1, double v2) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3d(program, location, v0, v1, v2);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3dv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, uint v0, uint v1, uint v2) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3ui(program, location, v0, v1, v2);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform3(uint program, int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform3uiv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, int v0, int v1, int v2, int v3) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4i(program, location, v0, v1, v2, v3);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, int count, int[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4iv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, float v0, float v1, float v2, float v3) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4f(program, location, v0, v1, v2, v3);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, int count, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4fv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, double v0, double v1, double v2, double v3) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4d(program, location, v0, v1, v2, v3);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, int count, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4dv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, uint v0, uint v1, uint v2, uint v3) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4ui(program, location, v0, v1, v2, v3);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the vector commands(glProgramUniform*v), specifies thenumber of elements that are to be modified. This should be 1if the targeted uniform variable is not an array, and 1 ormore if it is an array.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniform4(uint program, int location, int count, uint[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniform4uiv(program, location, count, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix2(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix2fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix3(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix3fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix4(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix4fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix2(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix2dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix3(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix3dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix4(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix4dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix2x3(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix2x3fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix3x2(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix3x2fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix2x4(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix2x4fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix4x2(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix4x2fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix3x4(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix3x4fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix4x3(uint program, int location, int count, bool transpose, float[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix4x3fv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix2x3(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix2x3dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix3x2(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix3x2dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix2x4(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix2x4dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix4x2(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix4x2dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix3x4(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix3x4dv(program, location, count, transpose, value);
///
/// glProgramUniform — Specify the value of a uniform variable for a specified program object
///
///
/// Specifies the handle of the program containing the uniformvariable to be modified.
///
///
/// Specifies the location of the uniform variableto be modified.
///
///
/// For the matrix commands(glProgramUniformMatrix*), specifiesthe number of matrices that are to be modified. This shouldbe 1 if the targeted uniform variable is not an array ofmatrices, and 1 or more if it is an array of matrices.
///
///
/// For the matrix commands, specifies whether to transpose thematrix as the values are loaded into the uniform variable.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified uniform variable.
///
public static void ProgramUniformMatrix4x3(uint program, int location, int count, bool transpose, double[] value) => build_in.ExtensionFunctionsForCurrent.glProgramUniformMatrix4x3dv(program, location, count, transpose, value);
///
/// glValidateProgramPipeline — validate a program pipeline object against current GL state
///
///
/// Specifies the name of a program pipeline object to validate.
///
public static void ValidateProgramPipeline(uint pipeline) => build_in.ExtensionFunctionsForCurrent.glValidateProgramPipeline(pipeline);
///
/// glGetProgramPipelineInfoLog — retrieve the info log string from a program pipeline object
///
///
/// Specifies the name of a program pipeline object from which to retrieve the info log.
///
///
/// Specifies the maximum number of characters, including the null terminator, that may be written into infoLog.
///
///
/// Specifies the address of a variable into which will be written the number of characters written into infoLog.
///
///
/// Specifies the address of an array of characters into which will be written the info log for pipeline.
///
public static void GetProgramPipelineInfoLog(uint pipeline, int bufSize, out int length, byte[] infoLog) => build_in.ExtensionFunctionsForCurrent.glGetProgramPipelineInfoLog(pipeline, bufSize, out length, infoLog);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribL1(uint index, double x) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL1d(index, x);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribL2(uint index, double x, double y) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL2d(index, x, y);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribL3(uint index, double x, double y, double z) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL3d(index, x, y, z);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
///
/// For the scalar commands, specifies the new values to be usedfor the specified vertex attribute.
///
public static void VertexAttribL4(uint index, double x, double y, double z, double w) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL4d(index, x, y, z, w);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribL1(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL1dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribL2(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL2dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribL3(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL3dv(index, v);
///
/// glVertexAttrib — Specifies the value of a generic vertex attribute
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// For the vector commands(glVertexAttrib*v), specifies a pointerto an array of values to be used for the generic vertexattribute.
///
public static void VertexAttribL4(uint index, double[] v) => build_in.ExtensionFunctionsForCurrent.glVertexAttribL4dv(index, v);
///
/// glVertexAttribPointer — define an array of generic vertex attribute data
///
///
/// Specifies the index of the generic vertexattribute to be modified.
///
///
/// Specifies the number of components pergeneric vertex attribute. Mustbe 1, 2, 3, 4. Additionally, the symbolic constant GL_BGRAis accepted by glVertexAttribPointer. The initial value is 4.
///
///
/// Specifies the data type of each component inthe array. The symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, and GL_UNSIGNED_INT are accepted by glVertexAttribPointer and glVertexAttribIPointer.
/// Additionally GL_HALF_FLOAT, GL_FLOAT, GL_DOUBLE, GL_FIXED, GL_INT_2_10_10_10_REV, GL_UNSIGNED_INT_2_10_10_10_REV and GL_UNSIGNED_INT_10F_11F_11F_REV are accepted by glVertexAttribPointer.
/// GL_DOUBLE is also accepted by glVertexAttribLPointer and isthe only token accepted by the type parameter for that function.The initial value is GL_FLOAT.
///
///
/// Specifies the byte offset between consecutivegeneric vertex attributes. If strideis 0, the generic vertex attributes areunderstood to be tightly packed in thearray. The initial value is 0.
///
///
/// Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of thebuffer currently bound to the GL_ARRAY_BUFFER target. The initial value is 0.
///
public static void VertexAttribLPointer(uint index, int size, uint type, int stride, IntPtr pointer) => build_in.ExtensionFunctionsForCurrent.glVertexAttribLPointer(index, size, type, stride, pointer);
///
/// glGetVertexAttrib — Return a generic vertex attribute parameter
///
///
/// Specifies the generic vertex attributeparameter to be queried.
///
///
/// Specifies the symbolic name of the vertexattribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE,
/// GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_CURRENT_VERTEX_ATTRIB.
///
///
/// Returns the requested data.
///
public static void GetVertexAttribL(uint index, uint pname, double[] Params) => build_in.ExtensionFunctionsForCurrent.glGetVertexAttribLdv(index, pname, Params);
///
/// glViewportArray — set multiple viewports
///
///
/// Specify the first viewport to set.
///
///
/// Specify the number of viewports to set.
///
///
/// Specify the address of an array containing the viewport parameters.
///
public static void ViewportArray(uint first, int count, float[] v) => build_in.ExtensionFunctionsForCurrent.glViewportArrayv(first, count, v);
///
/// glViewportIndexed — set a specified viewport
///
///
/// Specify the first viewport to set.
///
///
/// For glViewportIndexedf, specifies the lower left corner ofthe viewport rectangle, in pixels. The initial value is (0,0).
///
///
/// For glViewportIndexedf, specifies the lower left corner ofthe viewport rectangle, in pixels. The initial value is (0,0).
///
///
/// For glViewportIndexedf, specifies the width and heightof the viewport.When a GL context is first attached to a window, width and height are set to the dimensions of thatwindow.
///
///
/// For glViewportIndexedf, specifies the width and heightof the viewport.When a GL context is first attached to a window, width and height are set to the dimensions of thatwindow.
///
public static void ViewportIndexed(uint index, float x, float y, float w, float h) => build_in.ExtensionFunctionsForCurrent.glViewportIndexedf(index, x, y, w, h);
///
/// glViewportIndexed — set a specified viewport
///
///
/// Specify the first viewport to set.
///
///
/// For glViewportIndexedfv, specifies the address of an array containing the viewport parameters.
///
public static void ViewportIndexed(uint index, float[] v) => build_in.ExtensionFunctionsForCurrent.glViewportIndexedfv(index, v);
///
/// glScissorArray — define the scissor box for multiple viewports
///
///
/// Specifies the index of the first viewport whose scissor box to modify.
///
///
/// Specifies the number of scissor boxes to modify.
///
///
/// Specifies the address of an array containing the left, bottom, width and height of eachscissor box, in that order.
///
public static void ScissorArray(uint first, int count, int[] v) => build_in.ExtensionFunctionsForCurrent.glScissorArrayv(first, count, v);
///
/// glScissorIndexed — define the scissor box for a specific viewport
///
///
/// Specifies the index of the viewport whose scissor box to modify.
///
///
/// Specify the coordinate of the bottom left corner of the scissor box, in pixels.
///
///
/// Specify the coordinate of the bottom left corner of the scissor box, in pixels.
///
///
/// Specify ths dimensions of the scissor box, in pixels.
///
///
/// Specify ths dimensions of the scissor box, in pixels.
///
public static void ScissorIndexed(uint index, int left, int bottom, int width, int height) => build_in.ExtensionFunctionsForCurrent.glScissorIndexed(index, left, bottom, width, height);
///
/// glScissorIndexed — define the scissor box for a specific viewport
///
///
/// Specifies the index of the viewport whose scissor box to modify.
///
///
/// For glScissorIndexedv, specifies the address of an array containing the left, bottom, width and height of eachscissor box, in that order.
///
public static void ScissorIndexed(uint index, int[] v) => build_in.ExtensionFunctionsForCurrent.glScissorIndexedv(index, v);
///
/// glDepthRangeArray — specify mapping of depth values from normalized device coordinates to window coordinates for a specified set of viewports
///
///
/// Specifies the index of the first viewport whose depth range to update.
///
///
/// Specifies the number of viewports whose depth range to update.
///
///
/// Specifies the address of an array containing the near and far values for thedepth range of each modified viewport.
///
public static void DepthRangeArray(uint first, int count, double[] v) => build_in.ExtensionFunctionsForCurrent.glDepthRangeArrayv(first, count, v);
///
/// glDepthRangeIndexed — specify mapping of depth values from normalized device coordinates to window coordinates for a specified viewport
///
///
/// Specifies the index of the viewport whose depth range to update.
///
///
/// Specifies the mapping of the near clipping plane to window coordinates.The initial value is 0.
///
///
/// Specifies the mapping of the far clipping plane to window coordinates.The initial value is 1.
///
public static void DepthRangeIndexed(uint index, double n, double f) => build_in.ExtensionFunctionsForCurrent.glDepthRangeIndexed(index, n, f);
///
/// glGet — return the value or values of a selected parameter
///
///
/// Specifies the parameter value to be returnedfor indexed versions of glGet.The symbolic constants in the list below are accepted.
///
///
/// Specifies the index of the particular element being queried.
///
///
/// Returns the value or values of the specified parameter.
///
public static void GetFloat(uint target, uint index, float[] data) => build_in.ExtensionFunctionsForCurrent.glGetFloati_v(target, index, data);
///
/// glGet — return the value or values of a selected parameter
///
///
/// Specifies the parameter value to be returnedfor indexed versions of glGet.The symbolic constants in the list below are accepted.
///
///
/// Specifies the index of the particular element being queried.
///
///
/// Returns the value or values of the specified parameter.
///
public static void GetDouble(uint target, uint index, double[] data) => build_in.ExtensionFunctionsForCurrent.glGetDoublei_v(target, index, data);
///
/// glDrawArraysInstancedBaseInstance — draw multiple instances of a range of elements with offset applied to instanced attributes
///
///
/// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN,
/// GL_TRIANGLES GL_LINES_ADJACENCY, GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Specifies the starting index in the enabled arrays.
///
///
/// Specifies the number of indices to be rendered.
///
///
/// Specifies the number of instances of the specified range of indices to be rendered.
///
///
/// Specifies the base instance for use in fetching instanced vertex attributes.
///
public static void DrawArraysInstancedBaseInstance(uint mode, int first, int count, int instancecount, uint baseinstance) => build_in.ExtensionFunctionsForCurrent.glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
///
/// glDrawElementsInstancedBaseInstance — draw multiple instances of a set of elements with offset applied to instanced attributes
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY and GL_PATCHESare accepted.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies the number of instances of the specified range of indices to be rendered.
///
///
/// Specifies the base instance for use in fetching instanced vertex attributes.
///
public static void DrawElementsInstancedBaseInstance(uint mode, int count, uint type, IntPtr indices, int instancecount, uint baseinstance) => build_in.ExtensionFunctionsForCurrent.glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
///
/// glDrawElementsInstancedBaseVertexBaseInstance — render multiple instances of a set of primitives from array data with a per-element offset
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_LINES_ADJACENCY,
/// GL_LINE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY and GL_PATCHES are accepted.
///
///
/// Specifies the number of elements to be rendered.
///
///
/// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
///
///
/// Specifies a pointer to the location where the indices are stored.
///
///
/// Specifies the number of instances of the indexed geometry that should be drawn.
///
///
/// Specifies a constant that should be added to each element of indiceswhen chosing elements from the enabled vertex arrays.
///
///
/// Specifies the base instance for use in fetching instanced vertex attributes.
///
public static void DrawElementsInstancedBaseVertexBaseInstance(uint mode, int count, uint type, IntPtr indices, int instancecount, int basevertex, uint baseinstance) => build_in.ExtensionFunctionsForCurrent.glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
///
/// glGetInternalformat — retrieve information about implementation-dependent support for internal formats
///
///
/// Indicates the usage of the internal format. target must be GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP,
/// GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_BUFFER, GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
///
///
/// Specifies the internal format about which to retrieve information.
///
///
/// Specifies the type of information to query.
///
///
/// Specifies the maximum number of integers of the specified width that may be written to params by the function.
///
///
/// Specifies the address of a variable into which to write the retrieved information.
///
public static void GetInternalformat(uint target, uint internalformat, uint pname, int bufSize, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetInternalformativ(target, internalformat, pname, bufSize, Params);
///
/// glGetActiveAtomicCounterBufferiv — retrieve information about the set of active atomic counter buffers for a program
///
///
/// The name of a program object from which to retrieve information.
///
///
/// Specifies index of an active atomic counter buffer.
///
///
/// Specifies which parameter of the atomic counter buffer to retrieve.
///
///
/// Specifies the address of a variable into which to write the retrieved information.
///
public static void GetActiveAtomicCounterBuffer(uint program, uint bufferIndex, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, Params);
///
/// glBindImageTexture — bind a level of a texture to an image unit
///
///
/// Specifies the index of the image unit to which to bind the texture
///
///
/// Specifies the name of the texture to bind to the image unit.
///
///
/// Specifies the level of the texture that is to be bound.
///
///
/// Specifies whether a layered texture binding is to be established.
///
///
/// If layered is GL_FALSE, specifies the layer of texture to be bound to the image unit. Ignored otherwise.
///
///
/// Specifies a token indicating the type of access that will be performed on the image.
///
///
/// Specifies the format that the elements of the image will be treated as for the purposes of formatted stores.
///
public static void BindImageTexture(uint unit, uint texture, int level, bool layered, int layer, uint access, uint format) => build_in.ExtensionFunctionsForCurrent.glBindImageTexture(unit, texture, level, layered, layer, access, format);
///
/// glMemoryBarrier — defines a barrier ordering memory transactions
///
///
/// Specifies the barriers to insert. For glMemoryBarrier, must be abitwise combination of any of GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT, GL_ELEMENT_ARRAY_BARRIER_BIT, GL_UNIFORM_BARRIER_BIT,
/// GL_TEXTURE_FETCH_BARRIER_BIT, GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, GL_COMMAND_BARRIER_BIT, GL_PIXEL_BUFFER_BARRIER_BIT, GL_TEXTURE_UPDATE_BARRIER_BIT, GL_BUFFER_UPDATE_BARRIER_BIT,
/// GL_FRAMEBUFFER_BARRIER_BIT, GL_TRANSFORM_FEEDBACK_BARRIER_BIT, GL_ATOMIC_COUNTER_BARRIER_BIT, or GL_SHADER_STORAGE_BARRIER_BIT.
/// For glMemoryBarrier, must be abitwise combination of any of GL_ATOMIC_COUNTER_BARRIER_BIT, or GL_FRAMEBUFFER_BARRIER_BIT, GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, GL_SHADER_STORAGE_BARRIER_BIT. GL_TEXTURE_FETCH_BARRIER_BIT, or GL_UNIFORM_BARRIER_BIT.
/// If the special value GL_ALL_BARRIER_BITS is specified,all supported barriers for the corresponding commandwill be inserted.
///
public static void MemoryBarrier(uint barriers) => build_in.ExtensionFunctionsForCurrent.glMemoryBarrier(barriers);
///
/// glTexStorage1D, glTextureStorage1D — simultaneously specify storage for all levels of a one-dimensional texture
///
///
/// Specifies the target to which the texture object isbound for glTexStorage1D. Must beone of GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
///
///
/// Specify the number of texture levels.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
public static void TexStorage1D(uint target, int levels, uint internalformat, int width) => build_in.ExtensionFunctionsForCurrent.glTexStorage1D(target, levels, internalformat, width);
///
/// glTexStorage2D, glTextureStorage2D — simultaneously specify storage for all levels of a two-dimensional or one-dimensional array texture
///
///
/// Specifies the target to which the texture object isbound for glTexStorage2D. Must beone of GL_TEXTURE_2D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_RECTANGLE,
/// GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_1D_ARRAY, GL_PROXY_TEXTURE_RECTANGLE, or GL_PROXY_TEXTURE_CUBE_MAP.
///
///
/// Specify the number of texture levels.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
public static void TexStorage2D(uint target, int levels, uint internalformat, int width, int height) => build_in.ExtensionFunctionsForCurrent.glTexStorage2D(target, levels, internalformat, width, height);
///
/// glTexStorage3D, glTextureStorage3D — simultaneously specify storage for all levels of a three-dimensional, two-dimensional array or cube-map array texture
///
///
/// Specifies the target to which the texture object isbound for glTexStorage3D. Must beone of GL_TEXTURE_3D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_CUBE_MAP_ARRAY, GL_PROXY_TEXTURE_3D, GL_PROXY_TEXTURE_2D_ARRAY or GL_PROXY_TEXTURE_CUBE_MAP_ARRAY.
///
///
/// Specify the number of texture levels.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
///
/// Specifies the depth of the texture, in texels.
///
public static void TexStorage3D(uint target, int levels, uint internalformat, int width, int height, int depth) => build_in.ExtensionFunctionsForCurrent.glTexStorage3D(target, levels, internalformat, width, height, depth);
///
/// glDrawTransformFeedbackInstanced — render multiple instances of primitives using a count derived from a transform feedback object
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the name of a transform feedback object from which to retrieve a primitive count.
///
///
/// Specifies the number of instances of the geometry to render.
///
public static void DrawTransformFeedbackInstanced(uint mode, uint id, int instancecount) => build_in.ExtensionFunctionsForCurrent.glDrawTransformFeedbackInstanced(mode, id, instancecount);
///
/// glDrawTransformFeedbackStreamInstanced — render multiple instances of primitives using a count derived from a specifed stream of a transform feedback object
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the name of a transform feedback object from which to retrieve a primitive count.
///
///
/// Specifies the index of the transform feedback stream from which to retrieve a primitive count.
///
///
/// Specifies the number of instances of the geometry to render.
///
public static void DrawTransformFeedbackStreamInstanced(uint mode, uint id, uint stream, int instancecount) => build_in.ExtensionFunctionsForCurrent.glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
///
/// glClearBufferData, glClearNamedBufferData — fill a buffer object's data store with a fixed value
///
///
/// Specifies the target to which the buffer object is boundfor glClearBufferData, which mustmust be one of the buffer binding targets in thefollowing table:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER ,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER ,
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// The internal format with which the data will be storedin the buffer object.
///
///
/// The format of the data in memory addressed by data.
///
///
/// The type of the data in memory addressed by data.
///
///
/// The address of a memory location storing the data to bereplicated into the buffer's data store.
///
public static void ClearBufferData(uint target, uint internalformat, uint format, uint type, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glClearBufferData(target, internalformat, format, type, data);
///
/// glClearBufferSubData, glClearNamedBufferSubData — fill all or part of buffer object's data store with a fixed value
///
///
/// Specifies the target to which the buffer object is boundfor glClearBufferData, which mustmust be one of the buffer binding targets in thefollowing table:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER ,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,GL_ELEMENT_ARRAY_BUFFER ,
/// GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// The internal format with which the data will be storedin the buffer object.
///
///
/// The offset in basic machine units into the bufferobject's data store at which to start filling.
///
///
/// The size in basic machine units of the range of thedata store to fill.
///
///
/// The format of the data in memory addressed by data.
///
///
/// The type of the data in memory addressed by data.
///
///
/// The address of a memory location storing the data to bereplicated into the buffer's data store.
/// >
public static void ClearBufferSubData(uint target, uint internalformat, int offset, int size, uint format, uint type, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glClearBufferSubData(target, internalformat, offset, size, format, type, data);
///
/// glDispatchCompute — launch one or more compute work groups
///
///
/// The number of work groups to be launched in the X dimension.
///
///
/// The number of work groups to be launched in the Y dimension.
///
///
/// The number of work groups to be launched in the Z dimension.
///
public static void DispatchCompute(uint num_groups_x, uint num_groups_y, uint num_groups_z) => build_in.ExtensionFunctionsForCurrent.glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);
///
/// glDispatchComputeIndirect — launch one or more compute work groups using parameters stored in a buffer
///
///
/// The offset into the buffer object currently bound to the GL_DISPATCH_INDIRECT_BUFFER buffer target atwhich the dispatch parameters are stored.
///
public static void DispatchComputeIndirect(int indirect) => build_in.ExtensionFunctionsForCurrent.glDispatchComputeIndirect(indirect);
///
/// glCopyImageSubData — perform a raw data copy between two images
///
///
/// The name of a texture or renderbuffer object from which to copy.
///
///
/// The target representing the namespace of the source name srcName.
///
///
/// The mipmap level to read from the source.
///
///
/// The X coordinate of the left edge of the souce region to copy.
///
///
/// The Y coordinate of the top edge of the souce region to copy.
///
///
/// The Z coordinate of the near edge of the souce region to copy.
///
///
/// The name of a texture or renderbuffer object to which to copy.
///
///
/// The target representing the namespace of the destination name dstName.
///
///
/// The mipmap level to the dst.
///
///
/// The X coordinate of the left edge of the destination region.
///
///
/// The Y coordinate of the top edge of the destination region.
///
///
/// The Z coordinate of the near edge of the destination region
///
///
/// The width of the region to be copied.
///
///
/// The height of the region to be copied.
///
///
/// The depth of the region to be copied.
///
public static void CopyImageSubData(uint srcName, uint srcTarget, int srcLevel, int srcX, int srcY, int srcZ, uint dstName, uint dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth) => build_in.ExtensionFunctionsForCurrent.glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
///
/// glFramebufferParameteri, glNamedFramebufferParameteri — set a named parameter of a framebuffer object
///
///
/// Specifies the target to which the framebuffer is boundfor glFramebufferParameteri.
///
///
/// Specifies the framebuffer parameter to be modified.
///
///
/// The new value for the parameter named pname.
///
public static void FramebufferParameter(uint target, uint pname, int Param) => build_in.ExtensionFunctionsForCurrent.glFramebufferParameteri(target, pname, Param);
///
/// glGetFramebufferParameteriv, glGetNamedFramebufferParameteriv — query a named parameter of a framebuffer object
///
///
/// Specifies the target to which the framebuffer object isbound for glGetFramebufferParameteriv.
///
///
/// Specifies the parameter of the framebuffer object toquery.
///
///
/// Returns the value of parameter pname for the framebuffer object.
///
public static void GetFramebufferParameter(uint target, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetFramebufferParameteriv(target, pname, Params);
///
/// glGetInternalformat — retrieve information about implementation-dependent support for internal formats
///
///
/// Indicates the usage of the internal format. target must be GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP,
/// GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_BUFFER, GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
///
///
/// Specifies the internal format about which to retrieve information.
///
///
/// Specifies the type of information to query.
///
///
/// Specifies the maximum number of integers of the specified width that may be written to params by the function.
///
///
/// Specifies the address of a variable into which to write the retrieved information.
///
public static void GetInternalformat(uint target, uint internalformat, uint pname, int bufSize, Int64[] Params) => build_in.ExtensionFunctionsForCurrent.glGetInternalformati64v(target, internalformat, pname, bufSize, Params);
///
/// glInvalidateTexSubImage — invalidate a region of a texture image
///
///
/// The name of a texture object a subregion of which to invalidate.
///
///
/// The level of detail of the texture object within which the region resides.
///
///
/// The X offset of the region to be invalidated.
///
///
/// The Y offset of the region to be invalidated
///
///
/// The Z offset of the region to be invalidated.
///
///
/// The width of the region to be invalidated.
///
///
/// The height of the region to be invalidated.
///
///
/// The depth of the region to be invalidated.
///
public static void InvalidateTexSubImage(uint texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth) => build_in.ExtensionFunctionsForCurrent.glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);
///
/// glInvalidateTexImage — invalidate the entirety a texture image
///
///
/// The name of a texture object to invalidate.
///
///
/// The level of detail of the texture object to invalidate.
///
public static void InvalidateTexImage(uint texture, int level) => build_in.ExtensionFunctionsForCurrent.glInvalidateTexImage(texture, level);
///
/// glInvalidateBufferSubData — invalidate a region of a buffer object's data store
///
///
/// The name of a buffer object, a subrange of whose data store to invalidate.
///
///
/// The offset within the buffer's data store of the start of the range to be invalidated.
///
///
/// The length of the range within the buffer's data store to be invalidated.
///
public static void InvalidateBufferSubData(uint buffer, int offset, int length) => build_in.ExtensionFunctionsForCurrent.glInvalidateBufferSubData(buffer, offset, length);
///
/// glInvalidateBufferData — invalidate the content of a buffer object's data store
///
///
/// The name of a buffer object whose data store to invalidate.
///
public static void InvalidateBufferData(uint buffer) => build_in.ExtensionFunctionsForCurrent.glInvalidateBufferData(buffer);
///
/// glInvalidateFramebuffer, glInvalidateNamedFramebufferData — invalidate the content of some or all of a framebuffer's attachments
///
///
/// Specifies the target to which the framebuffer object isattached for glInvalidateFramebuffer.
///
///
/// Specifies the number of entries in the attachments array.
///
///
/// Specifies a pointer to an array identifying theattachments to be invalidated.
///
public static void InvalidateFramebuffer(uint target, int numAttachments, uint[] attachments) => build_in.ExtensionFunctionsForCurrent.glInvalidateFramebuffer(target, numAttachments, attachments);
///
/// glInvalidateSubFramebuffer, glInvalidateNamedFramebufferSubData — invalidate the content of a region of some or all of a framebuffer's attachments
///
///
/// Specifies the target to which the framebuffer object isattached for glInvalidateSubFramebuffer.
///
///
/// Specifies the number of entries in the attachments array.
///
///
/// Specifies a pointer to an array identifying theattachments to be invalidated.
///
///
/// Specifies the X offset of the region to be invalidated.
///
///
/// Specifies the Y offset of the region to be invalidated.
///
///
/// Specifies the width of the region to be invalidated.
///
///
/// Specifies the height of the region to be invalidated.
///
public static void InvalidateSubFramebuffer(uint target, int numAttachments, uint[] attachments, int x, int y, int width, int height) => build_in.ExtensionFunctionsForCurrent.glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
///
/// glMultiDrawArraysIndirect — render multiple sets of primitives from array data, taking parameters from memory
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the address of an array of structures containing the draw parameters.
///
///
/// Specifies the the number of elements in the array of draw parameter structures.
///
///
/// Specifies the distance in basic machine units between elements of the draw parameter array.
///
public static void MultiDrawArraysIndirect(uint mode, IntPtr indirect, int drawcount, int stride) => build_in.ExtensionFunctionsForCurrent.glMultiDrawArraysIndirect(mode, indirect, drawcount, stride);
///
/// glMultiDrawElementsIndirect — render indexed primitives from array data, taking parameters from memory
///
///
/// Specifies what kind of primitives to render.Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY,
/// GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHESare accepted.
///
///
/// Specifies the type of data in the buffer bound to the GL_ELEMENT_ARRAY_BUFFER binding.
///
///
/// Specifies the address of a structure containing an array of draw parameters.
///
///
/// Specifies the number of elements in the array addressed by indirect.
///
///
/// Specifies the distance in basic machine units between elements of the draw parameter array.
///
public static void MultiDrawElementsIndirect(uint mode, uint type, IntPtr indirect, int drawcount, int stride) => build_in.ExtensionFunctionsForCurrent.glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
///
/// glGetProgramInterface — query a property of an interface in a program
///
///
/// The name of a program object whose interface to query.
///
///
/// A token identifying the interface within program to query.
///
///
/// The name of the parameter within programInterface to query.
///
///
/// The address of a variable to retrieve the value of pname for the program interface.
///
public static void GetProgramInterface(uint program, uint programInterface, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetProgramInterfaceiv(program, programInterface, pname, Params);
///
/// glGetProgramResourceIndex — query the index of a named resource within a program
///
///
/// The name of a program object whose resources to query.
///
///
/// A token identifying the interface within program containing the resource named name.
///
///
/// The name of the resource to query the index of.
///
///
/// returns the unsignedinteger index assigned to a resource named name inthe interface type programInterface of program object program.
///
public static uint GetProgramResourceIndex(uint program, uint programInterface, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetProgramResourceIndex(program, programInterface, name);
///
/// glGetProgramResourceName — query the name of an indexed resource within a program
///
///
/// The name of a program object whose resources to query.
///
///
/// A token identifying the interface within program containing the indexed resource.
///
///
/// The index of the resource within programInterface of program.
///
///
/// The size of the character array whose address is given by name.
///
///
/// The address of a variable which will receive the length of the resource name.
///
///
/// The address of a character array into which will be written the name of the resource.
///
public static void GetProgramResourceName(uint program, uint programInterface, uint index, int bufSize, out int length, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetProgramResourceName(program, programInterface, index, bufSize, out length, name);
///
/// glGetProgramResource — retrieve values for multiple properties of a single active resource within a program object
///
///
/// The name of a program object whose resources to query.
///
///
/// A token identifying the interface within program containing the resource named name.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
public static void GetProgramResource(uint program, uint programInterface, uint index, int propCount, uint[] props, int bufSize, out int length, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, out length, Params);
///
/// glGetProgramResourceLocation — query the location of a named resource within a program
///
///
/// The name of a program object whose resources to query.
///
///
/// A token identifying the interface within program containing the resource named name.
///
///
/// The name of the resource to query the location of.
///
///
/// glGetProgramResourceLocation returns the location assignedto the variable named name in interface programInterface of programobject program.
///
public static int GetProgramResourceLocation(uint program, uint programInterface, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetProgramResourceLocation(program, programInterface, name);
///
/// glGetProgramResourceLocationIndex — query the fragment color index of a named variable within a program
///
///
/// The name of a program object whose resources to query.
///
///
/// A token identifying the interface within program containing the resource named name.
///
///
/// The name of the resource to query the location of.
///
///
/// returns the fragment color index assignedto the variable named name in interface programInterface of programobject program.
///
public static int GetProgramResourceLocationIndex(uint program, uint programInterface, byte[] name) => build_in.ExtensionFunctionsForCurrent.glGetProgramResourceLocationIndex(program, programInterface, name);
///
/// glShaderStorageBlockBinding — change an active shader storage block binding
///
///
/// The name of the program containing the block whose binding to change.
///
///
/// The index storage block within the program.
///
///
/// The index storage block binding to associate with the specified storage block.
///
public static void ShaderStorageBlockBinding(uint program, uint storageBlockIndex, uint storageBlockBinding) => build_in.ExtensionFunctionsForCurrent.glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);
///
/// glTexBufferRange, glTextureBufferRange — attach a range of a buffer object's data store to a buffer texture object
///
///
/// Specifies the target to which the texture object isbound for glTexBufferRange. Must be GL_TEXTURE_BUFFER.
///
///
/// Specifies the texture object name for glTextureBufferRange.
///
///
/// Specifies the name of the buffer object whose storage toattach to the active buffer texture.
///
///
/// Specifies the offset of the start of the range of thebuffer's data store to attach.
///
///
/// Specifies the size of the range of the buffer's datastore to attach.
///
public static void TexBufferRange(uint target, uint internalformat, uint buffer, int offset, int size) => build_in.ExtensionFunctionsForCurrent.glTexBufferRange(target, internalformat, buffer, offset, size);
///
/// glTexStorage2DMultisample, glTextureStorage2DMultisample — specify storage for a two-dimensional multisample texture
///
///
/// Specifies the target to which the texture object isbound for glTexStorage2DMultisample. Must beone of GL_TEXTURE_2D_MULTISAMPLE or GL_PROXY_TEXTURE_2D_MULTISAMPLE.
///
///
/// Specify the number of samples in the texture.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
///
/// Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will notdepend on the internal format or size of the image.
///
public static void TexStorage2DMultisample(uint target, int samples, uint internalformat, int width, int height, bool fixedsamplelocations) => build_in.ExtensionFunctionsForCurrent.glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
///
/// glTexStorage3DMultisample, glTextureStorage3DMultisample — specify storage for a two-dimensional multisample array texture
///
///
/// Specifies the target to which the texture object isbound for glTexStorage3DMultisample. Must beone of GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
///
///
/// Specify the number of samples in the texture.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
///
/// Specifies the depth of the texture, in layers.
///
///
/// Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will notdepend on the internal format or size of the image.
///
public static void TexStorage3DMultisample(uint target, int samples, uint internalformat, int width, int height, int depth, bool fixedsamplelocations) => build_in.ExtensionFunctionsForCurrent.glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
///
/// glTextureView — initialize a texture as a data alias of another texture's data store
///
///
/// Specifies the texture object to be initialized as a view.
///
///
/// Specifies the target to be used for the newly initialized texture.
///
///
/// Specifies the name of a texture object of which to make a view.
///
///
/// Specifies the internal format for the newly created view.
///
///
/// Specifies lowest level of detail of the view.
///
///
/// Specifies the number of levels of detail to include in the view.
///
///
/// Specifies the index of the first layer to include in the view.
///
///
/// Specifies the number of layers to include in the view.
///
public static void TextureView(uint texture, uint target, uint origtexture, uint internalformat, uint minlevel, uint numlevels, uint minlayer, uint numlayers) => build_in.ExtensionFunctionsForCurrent.glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
///
/// glBindVertexBuffer, glVertexArrayVertexBuffer — bind a buffer to a vertex buffer bind point
///
///
/// The index of the vertex buffer binding point to which to bindthe buffer.
///
///
/// The name of a buffer to bind to the vertex buffer bindingpoint.
///
///
/// The offset of the first element of the buffer.
///
///
/// The distance between elements within the buffer.
///
public static void BindVertexBuffer(uint bindingindex, uint buffer, int offset, int stride) => build_in.ExtensionFunctionsForCurrent.glBindVertexBuffer(bindingindex, buffer, offset, stride);
///
/// glVertexAttribFormat, glVertexArrayAttribFormat — specify the organization of vertex arrays
///
///
/// The generic vertex attribute array being described.
///
///
/// The number of values per vertex that are stored in thearray.
///
///
/// The type of the data stored in the array.
///
///
/// Specifies whether fixed-point data values should be normalized (GL_TRUE) orconverted directly as fixed-point values (GL_FALSE) when they are accessed. This parameter is ignored if type is GL_FIXED.
///
///
/// The distance between elements within the buffer.
///
public static void VertexAttribFormat(uint attribindex, int size, uint type, bool normalized, uint relativeoffset) => build_in.ExtensionFunctionsForCurrent.glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
///
/// glVertexAttribFormat, glVertexArrayAttribFormat — specify the organization of vertex arrays
///
///
/// The generic vertex attribute array being described.
///
///
/// The number of values per vertex that are stored in thearray.
///
///
/// The type of the data stored in the array.
///
///
/// The distance between elements within the buffer.
///
public static void VertexAttribIFormat(uint attribindex, int size, uint type, uint relativeoffset) => build_in.ExtensionFunctionsForCurrent.glVertexAttribIFormat(attribindex, size, type, relativeoffset);
///
/// glVertexAttribFormat, glVertexArrayAttribFormat — specify the organization of vertex arrays
///
///
/// The generic vertex attribute array being described.
///
///
/// The number of values per vertex that are stored in thearray.
///
///
/// The type of the data stored in the array.
///
///
/// The distance between elements within the buffer.
///
public static void VertexAttribLFormat(uint attribindex, int size, uint type, uint relativeoffset) => build_in.ExtensionFunctionsForCurrent.glVertexAttribLFormat(attribindex, size, type, relativeoffset);
///
/// glVertexAttribBinding — associate a vertex attribute and a vertex buffer binding for a vertex array object
///
///
/// The index of the attribute to associate with a vertexbuffer binding.
///
///
/// The index of the vertex buffer binding with which toassociate the generic vertex attribute.
///
public static void VertexAttribBinding(uint attribindex, uint bindingindex) => build_in.ExtensionFunctionsForCurrent.glVertexAttribBinding(attribindex, bindingindex);
///
/// glVertexAttribDivisor — modify the rate at which generic vertex attributes advance during instanced rendering
///
///
/// Specify the index of the generic vertex attribute.
///
///
/// Specify the number of instances that will pass between updates of the generic attribute at slot index.
///
public static void VertexBindingDivisor(uint bindingindex, uint divisor) => build_in.ExtensionFunctionsForCurrent.glVertexBindingDivisor(bindingindex, divisor);
///
/// glDebugMessageControl — control the reporting of debug messages in a debug context
///
///
/// The source of debug messages to enable or disable.
///
///
/// The type of debug messages to enable or disable.
///
///
/// The severity of debug messages to enable or disable.
///
///
/// The length of the array ids.
///
///
/// The address of an array of unsigned integers contianing the ids of the messages to enable or disable.
///
///
/// A Boolean flag determining whether the selected messages should be enabled or disabled.
///
public static void DebugMessageControl(uint source, uint type, uint severity, int count, uint[] ids, bool enabled) => build_in.ExtensionFunctionsForCurrent.glDebugMessageControl(source, type, severity, count, ids, enabled);
///
/// glDebugMessageInsert — inject an application-supplied message into the debug message queue
///
///
/// The source of the debug message to insert.
///
///
/// The type of the debug message insert.
///
///
/// The user-supplied identifier of the message to insert.
///
///
/// The severity of the debug messages to insert.
///
///
/// The length string contained in the character array whose address is given by message.
///
///
/// The address of a character array containing the message to insert.
///
public static void DebugMessageInsert(uint source, uint type, uint id, uint severity, int length, byte[] buf) => build_in.ExtensionFunctionsForCurrent.glDebugMessageInsert(source, type, id, severity, length, buf);
///
/// glDebugMessageCallback — specify a callback to receive debugging messages from the GL
///
///
/// The address of a callback function that will be called when a debug message is generated.
///
///
/// A user supplied pointer that will be passed on each invocation of callback.
///
public static void DebugMessageCallback(IntPtr callback, IntPtr userParam) => build_in.ExtensionFunctionsForCurrent.glDebugMessageCallback(callback, userParam);
///
/// glGetDebugMessageLog — retrieve messages from the debug message log
///
///
/// The number of debug messages to retrieve from the log.
///
///
/// The size of the buffer whose address is given by messageLog.
///
///
/// The address of an array of variables to receive the sources of the retrieved messages.
///
///
/// The address of an array of variables to receive the types of the retrieved messages.
///
///
/// The address of an array of unsigned integers to receive the ids of the retrieved messages.
///
///
/// The address of an array of variables to receive the severites of the retrieved messages.
///
///
/// The address of an array of variables to receive the lengths of the received messages.
///
///
/// The address of an array of characters that will receive the messages.
///
///
/// glGetDebugMessageLog retrieves messages from the debug message log. A maximum of count messages are retrieved from the log.
///
public static uint GetDebugMessageLog(uint count, int bufSize, uint[] sources, uint[] types, uint[] ids, uint[] severities, int[] lengths, byte[] messageLog) => build_in.ExtensionFunctionsForCurrent.glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
///
/// glPushDebugGroup — push a named debug group into the command stream
///
///
/// The source of the debug message.
///
///
/// The identifier of the message.
///
///
/// The length of the message to be sent to the debug output stream.
///
///
/// The a string containing the message to be sent to the debug output stream.
///
public static void PushDebugGroup(uint source, uint id, int length, byte[] message) => build_in.ExtensionFunctionsForCurrent.glPushDebugGroup(source, id, length, message);
///
/// glPopDebugGroup — pop the active debug group
///
public static void PopDebugGroup() => build_in.ExtensionFunctionsForCurrent.glPopDebugGroup();
///
/// glObjectLabel — label a named object identified within a namespace
///
///
/// The namespace from which the name of the object is allocated.
///
///
/// The name of the object to label.
///
///
/// The length of the label to be used for the object.
///
///
/// The address of a string containing the label to assign to the object.
///
public static void ObjectLabel(uint identifier, uint name, int length, byte[] label) => build_in.ExtensionFunctionsForCurrent.glObjectLabel(identifier, name, length, label);
///
/// glGetObjectLabel — retrieve the label of a named object identified within a namespace
///
///
/// The namespace from which the name of the object is allocated.
///
///
/// The name of the object whose label to retrieve.
///
///
/// The length of the buffer whose address is in label.
///
///
/// The address of a variable to receive the length of the object label.
///
///
/// The address of a string that will receive the object label.
///
public static void GetObjectLabel(uint identifier, uint name, int bufSize, out int length, byte[] label) => build_in.ExtensionFunctionsForCurrent.glGetObjectLabel(identifier, name, bufSize, out length, label);
///
/// glObjectPtrLabel — label a a sync object identified by a pointer
///
///
/// A pointer identifying a sync object.
///
///
/// The length of the label to be used for the object.
///
///
/// The address of a string containing the label to assign to the object.
///
public static void ObjectPtrLabel(IntPtr ptr, int length, byte[] label) => build_in.ExtensionFunctionsForCurrent.glObjectPtrLabel(ptr, length, label);
///
/// glGetObjectPtrLabel — retrieve the label of a sync object identified by a pointer
///
///
/// The name of the sync object whose label to retrieve.
///
///
/// The length of the buffer whose address is in label.
///
///
/// The address of a variable to receive the length of the object label.
///
///
/// The address of a string that will receive the object label.
///
public static void GetObjectPtrLabel(IntPtr ptr, int bufSize, int[] length, byte[] label) => build_in.ExtensionFunctionsForCurrent.glGetObjectPtrLabel(ptr, bufSize, length, label);
///
/// glBufferStorage, glNamedBufferStorage — creates and initializes a buffer object's immutable datastore
///
///
/// Specifies the target to which the buffer object is bound for glBufferStorage, which must be one of thebuffer binding targets in the following table:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER ,GL_DISPATCH_INDIRECT_BUFFER,commandsGL_DRAW_INDIRECT_BUFFER,GL_UNIFORM_BUFFER ,
/// GL_ELEMENT_ARRAY_BUFFER ,GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER ,GL_TRANSFORM_FEEDBACK_BUFFER,
///
///
/// Specifies the size in bytes of the buffer object's new datastore.
///
///
/// Specifies a pointer to data that will be copied into the datastore for initialization, or NULL if no data isto be copied.
///
///
/// Specifies the intended usage of the buffer's data store. Mustbe a bitwise combination of the following flags. GL_DYNAMIC_STORAGE_BIT, GL_MAP_READ_BIT GL_MAP_WRITE_BIT, GL_MAP_PERSISTENT_BIT, GL_MAP_COHERENT_BIT, and GL_CLIENT_STORAGE_BIT.
///
public static void BufferStorage(uint target, int size, IntPtr data, uint flags) => build_in.ExtensionFunctionsForCurrent.glBufferStorage(target, size, data, flags);
///
/// glClearTexImage — fills all a texture image with a constant value
///
///
/// The name of an existing texture object containing the image to be cleared.
///
///
/// The level of texture containing the region to be cleared.
///
///
/// The format of the data whose address in memory is given by data.
///
///
/// The type of the data whose address in memory is given by data.
///
///
/// The address in memory of the data to be used to clear the specified region.
///
public static void ClearTexImage(uint texture, int level, uint format, uint type, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glClearTexImage(texture, level, format, type, data);
///
/// glClearTexSubImage — fills all or part of a texture image with a constant value
///
///
/// The name of an existing texture object containing the image to be cleared.
///
///
/// The level of texture containing the region to be cleared.
///
///
/// The coordinate of the left edge of the region to be cleared.
///
///
/// The coordinate of the lower edge of the region to be cleared.
///
///
/// The coordinate of the front of the region to be cleared.
///
///
/// The width of the region to be cleared.
///
///
/// The height of the region to be cleared.
///
///
/// The depth of the region to be cleared.
///
///
/// The format of the data whose address in memory is given by data.
///
///
/// The type of the data whose address in memory is given by data.
///
///
/// The address in memory of the data to be used to clear the specified region.
///
public static void ClearTexSubImage(uint texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
///
///glBindBuffersBase — bind one or more buffer objects to a sequence of indexed buffer targets
///
///
/// Specify the target of the bind operation. target must beone of GL_ATOMIC_COUNTER_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER, GL_UNIFORM_BUFFER or GL_SHADER_STORAGE_BUFFER.
///
///
/// Specify the index of the first binding point within the array specified by target.
///
///
/// Specify the number of contiguous binding points to which to bind buffers.
///
///
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or NULL.
///
public static void BindBuffersBase(uint target, uint first, int count, uint[] buffers) => build_in.ExtensionFunctionsForCurrent.glBindBuffersBase(target, first, count, buffers);
///
/// glBindBuffersRange — bind ranges of one or more buffer objects to a sequence of indexed buffer targets
///
///
/// Specify the target of the bind operation. target must beone of GL_ATOMIC_COUNTER_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER, GL_UNIFORM_BUFFER or GL_SHADER_STORAGE_BUFFER.
///
///
/// Specify the index of the first binding point within the array specified by target.
///
///
/// Specify the number of contiguous binding points to which to bind buffers.
///
///
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or NULL.
///
///
/// A pointer to an array of offsets into the corresponding buffer in buffers tobind, or NULL if buffers is NULL.
///
///
/// A pointer to an array of sizes of the corresponding buffer in buffers tobind, or NULL if buffers is NULL.
///
public static void BindBuffersRange(uint target, uint first, int count, uint[] buffers, int[] offsets, int[] sizes) => build_in.ExtensionFunctionsForCurrent.glBindBuffersRange(target, first, count, buffers, offsets, sizes);
///
/// glBindTextures — bind one or more named textures to a sequence of consecutive texture units
///
///
/// Specifies the first texture unit to which a texture is to be bound.
///
///
/// Specifies the number of textures to bind.
///
///
/// Specifies the address of an array of names of existing texture objects.
///
public static void BindTextures(uint first, int count, uint[] textures) => build_in.ExtensionFunctionsForCurrent.glBindTextures(first, count, textures);
///
/// glBindSamplers — bind one or more named sampler objects to a sequence of consecutive sampler units
///
///
/// Specifies the first sampler unit to which a sampler object is to be bound.
///
///
/// Specifies the number of samplers to bind.
///
///
/// Specifies the address of an array of names of existing sampler objects.
///
public static void BindSamplers(uint first, int count, uint[] samplers) => build_in.ExtensionFunctionsForCurrent.glBindSamplers(first, count, samplers);
///
/// glBindImageTextures — bind one or more named texture images to a sequence of consecutive image units
///
///
/// Specifies the first image unit to which a texture is to be bound.
///
///
/// Specifies the number of textures to bind.
///
///
/// Specifies the address of an array of names of existing texture objects.
///
public static void BindImageTextures(uint first, int count, uint[] textures) => build_in.ExtensionFunctionsForCurrent.glBindImageTextures(first, count, textures);
///
/// glBindVertexBuffers, glVertexArrayVertexBuffers — attach multiple buffer objects to a vertex array object
///
///
/// Specifies the first vertex buffer binding point to whicha buffer object is to be bound.
///
///
/// Specifies the number of buffers to bind.
///
///
/// Specifies the address of an array of names of existingbuffer objects.
///
///
/// Specifies the address of an array of offsets toassociate with the binding points.
///
///
/// Specifies the address of an array of strides toassociate with the binding points.
///
public static void BindVertexBuffers(uint first, int count, uint[] buffers, int offsets, int[] strides) => build_in.ExtensionFunctionsForCurrent.glBindVertexBuffers(first, count, buffers, offsets, strides);
///
/// glClipControl — control clip coordinate to window coordinate behavior
///
///
/// Specifies the clip control origin. Must be one of GL_LOWER_LEFT or GL_UPPER_LEFT.
///
///
/// Specifies the clip control depth mode. Must be oneof GL_NEGATIVE_ONE_TO_ONE or GL_ZERO_TO_ONE.
///
public static void ClipControl(uint origin, uint depth) => build_in.ExtensionFunctionsForCurrent.glClipControl(origin, depth);
///
/// glCreateTransformFeedbacks — create transform feedback objects
///
///
/// Number of transform feedback objects to create.
///
///
/// Specifies an array in which names of the newtransform feedback objects are stored.
///
public static void CreateTransformFeedbacks(int n, uint[] ids) => build_in.ExtensionFunctionsForCurrent.glCreateTransformFeedbacks(n, ids);
///
/// glTransformFeedbackBufferBase — bind a buffer object to a transform feedback buffer object
///
///
/// Name of the transform feedback buffer object.
///
///
/// Index of the binding point within xfb.
///
///
/// Name of the buffer object to bind to the specifiedbinding point.
///
public static void TransformFeedbackBufferBase(uint xfb, uint index, uint buffer) => build_in.ExtensionFunctionsForCurrent.glTransformFeedbackBufferBase(xfb, index, buffer);
///
/// glTransformFeedbackBufferRange — bind a range within a buffer object to a transform feedback buffer object
///
///
/// Name of the transform feedback buffer object.
///
///
/// Index of the binding point within xfb.
///
///
/// Name of the buffer object to bind to the specifiedbinding point
///
///
/// The starting offset in basic machine units into thebuffer object.
///
///
/// The amount of data in basic machine units that canbe read from or written to the buffer object whileused as an indexed target.
///
public static void TransformFeedbackBufferRange(uint xfb, uint index, uint buffer, int offset, int size) => build_in.ExtensionFunctionsForCurrent.glTransformFeedbackBufferRange(xfb, index, buffer, offset, size);
///
/// glGetTransformFeedbackiv — query the state of a transform feedback object.
///
///
/// The name of an existing transform feedback object, or zero forthe default transform feedback object.
///
///
/// Property to use for the query. Must be one of the values: GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL_TRANSFORM_FEEDBACK_BUFFER_START, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_TRANSFORM_FEEDBACK_PAUSED, GL_TRANSFORM_FEEDBACK_ACTIVE.
///
///
/// The address of a buffer into which will be written therequested state information.
///
public static void GetTransformFeedback(uint xfb, uint pname, int[] Param) => build_in.ExtensionFunctionsForCurrent.glGetTransformFeedbackiv(xfb, pname, Param);
///
/// glGetTransformFeedbackiv — query the state of a transform feedback object.
///
///
/// The name of an existing transform feedback object, or zero forthe default transform feedback object.
///
///
/// Property to use for the query. Must be one of the values: GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL_TRANSFORM_FEEDBACK_BUFFER_START, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_TRANSFORM_FEEDBACK_PAUSED, GL_TRANSFORM_FEEDBACK_ACTIVE.
///
///
/// Index of the transform feedback stream (for indexedstate).
///
///
/// The address of a buffer into which will be written therequested state information.
///
public static void GetTransformFeedback(uint xfb, uint pname, uint index, int[] Param) => build_in.ExtensionFunctionsForCurrent.glGetTransformFeedbacki_v(xfb, pname, index, Param);
///
/// glGetTransformFeedbackiv — query the state of a transform feedback object.
///
///
/// The name of an existing transform feedback object, or zero forthe default transform feedback object.
///
///
/// Property to use for the query. Must be one of the values: GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, GL_TRANSFORM_FEEDBACK_BUFFER_START, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, GL_TRANSFORM_FEEDBACK_PAUSED, GL_TRANSFORM_FEEDBACK_ACTIVE.
///
///
/// Index of the transform feedback stream (for indexedstate).
///
///
/// The address of a buffer into which will be written therequested state information.
///
public static void GetTransformFeedback(uint xfb, uint pname, uint index, Int64[] Param) => build_in.ExtensionFunctionsForCurrent.glGetTransformFeedbacki64_v(xfb, pname, index, Param);
///
/// glCreateBuffers — create buffer objects
///
///
/// Specifies the number of buffer objects to create.
///
///
/// Specifies an array in which names of the new bufferobjects are stored.
///
public static void CreateBuffers(int n, uint[] buffers) => build_in.ExtensionFunctionsForCurrent.glCreateBuffers(n, buffers);
///
/// glBufferStorage, glNamedBufferStorage — creates and initializes a buffer object's immutable datastore
///
///
/// Specifies the target to which the buffer object is bound for glBufferStorage, which must be one of thebuffer binding targets in the following table:
/// GL_ARRAY_BUFFER,GL_ATOMIC_COUNTER_BUFFER,GL_COPY_READ_BUFFER ,GL_COPY_WRITE_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER,
/// GL_ELEMENT_ARRAY_BUFFER,GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_BUFFER,GL_QUERY_BUFFER,GL_SHADER_STORAGE_BUFFER,GL_TEXTURE_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER,GL_UNIFORM_BUFFER
///
///
/// Specifies the size in bytes of the buffer object's new datastore.
///
///
/// Specifies a pointer to data that will be copied into the datastore for initialization, or NULL if no data isto be copied.
///
///
/// Specifies the intended usage of the buffer's data store. Mustbe a bitwise combination of the following flags. GL_DYNAMIC_STORAGE_BIT, GL_MAP_READ_BIT GL_MAP_WRITE_BIT, GL_MAP_PERSISTENT_BIT, GL_MAP_COHERENT_BIT, and GL_CLIENT_STORAGE_BIT.
///
public static void NamedBufferStorage(uint buffer, int size, IntPtr data, uint flags) => build_in.ExtensionFunctionsForCurrent.glNamedBufferStorage(buffer, size, data, flags);
///
/// glBufferData, glNamedBufferData — creates and initializes a buffer object's datastore
///
///
/// Specifies the name of the buffer object for glNamedBufferData function.
///
///
/// Specifies the size in bytes of the buffer object's new datastore.
///
///
/// Specifies a pointer to data that will be copied into the datastore for initialization, or NULL if no data isto be copied.
///
///
/// Specifies the expected usage pattern of the data store. Thesymbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
///
public static void NamedBufferData(uint buffer, int size, IntPtr data, uint usage) => build_in.ExtensionFunctionsForCurrent.glNamedBufferData(buffer, size, data, usage);
///
/// glBufferSubData, glNamedBufferSubData — updates a subset of a buffer object's data store
///
///
/// Specifies the name of the buffer objectfor glNamedBufferSubData.
///
///
/// Specifies the offset into the buffer object's data storewhere data replacement will begin, measured in bytes.
///
///
/// Specifies the size in bytes of the data store regionbeing replaced.
///
///
/// Specifies a pointer to the new data that will be copiedinto the data store.
///
public static void NamedBufferSubData(uint buffer, int offset, int size, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glNamedBufferSubData(buffer, offset, size, data);
///
/// glCopyBufferSubData, glCopyNamedBufferSubData — copy all or part of the data store of a buffer object to the data store of another buffer object
///
///
/// Specifies the name of the source buffer object for glCopyNamedBufferSubData
///
///
/// Specifies the name of the destination buffer object for glCopyNamedBufferSubData.
///
///
/// Specifies the offset, in basic machine units, within thedata store of the source buffer object at which datawill be read.
///
///
/// Specifies the offset, in basic machine units, within thedata store of the destination buffer object at whichdata will be written.
///
///
/// Specifies the size, in basic machine units, of the datato be copied from the source buffer object to thedestination buffer object.
///
public static void CopyNamedBufferSubData(uint readBuffer, uint writeBuffer, int readOffset, int writeOffset, int size) => build_in.ExtensionFunctionsForCurrent.glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size);
///
/// glClearBufferData, glClearNamedBufferData — fill a buffer object's data store with a fixed value
///
///
/// Specifies the name of the buffer object for glClearNamedBufferData.
///
///
/// The internal format with which the data will be storedin the buffer object.
///
///
/// The format of the data in memory addressed by data.
///
///
/// The type of the data in memory addressed by data.
///
///
/// The address of a memory location storing the data to bereplicated into the buffer's data store.
///
public static void ClearNamedBufferData(uint buffer, uint internalformat, uint format, uint type, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glClearNamedBufferData(buffer, internalformat, format, type, data);
///
/// glClearBufferSubData, glClearNamedBufferSubData — fill all or part of buffer object's data store with a fixed value
///
///
/// Specifies the name of the buffer object for glClearNamedBufferSubData
///
///
/// The internal format with which the data will be storedin the buffer object.
///
///
/// The offset in basic machine units into the bufferobject's data store at which to start filling.
///
///
/// The size in basic machine units of the range of thedata store to fill.
///
///
/// The format of the data in memory addressed by data.
///
///
/// The type of the data in memory addressed by data.
///
///
/// The address of a memory location storing the data to bereplicated into the buffer's data store.
///
public static void ClearNamedBufferSubData(uint buffer, uint internalformat, int offset, int size, uint format, uint type, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
///
/// glMapBuffer, glMapNamedBuffer — map all of a buffer object's data store into the client's address space
///
///
/// Specifies the name of the buffer object for glMapNamedBuffer.
///
///
/// Specifies the access policy for glMapBuffer and glMapNamedBuffer, indicatingwhether it will be possible to read from, write to, orboth read from and write to the buffer object's mappeddata store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE.
///
public static void MapNamedBuffer(uint buffer, uint access) => build_in.ExtensionFunctionsForCurrent.glMapNamedBuffer(buffer, access);
///
/// glMapBufferRange, glMapNamedBufferRange — map all or part of a buffer object's data store into the client's address space
///
///
/// Specifies the name of the buffer object for glMapNamedBufferRange.
///
///
/// Specifies the starting offset within the buffer of therange to be mapped.
///
///
/// Specifies the length of the range to be mapped.
///
///
/// Specifies a combination of access flags indicating thedesired access to the mapped range.
///
public static void MapNamedBufferRange(uint buffer, int offset, int length, uint access) => build_in.ExtensionFunctionsForCurrent.glMapNamedBufferRange(buffer, offset, length, access);
///
/// glUnmapBuffer, glUnmapNamedBuffer — release the mapping of a buffer object's data store into the client's address space
///
///
/// Specifies the name of the buffer object for glUnmapNamedBuffer.
///
///
/// glUnmapBuffer returns GL_TRUE unless the data store contents havebecome corrupt during the time the data store was mapped.
///
public static bool UnmapNamedBuffer(uint buffer) => build_in.ExtensionFunctionsForCurrent.glUnmapNamedBuffer(buffer);
///
/// glFlushMappedBufferRange, glFlushMappedNamedBufferRange — indicate modifications to a range of a mapped buffer
///
///
/// Specifies the name of the buffer object for glFlushMappedNamedBufferRange.
///
///
/// Specifies the start of the buffer subrange, in basic machine units.
///
///
/// Specifies the length of the buffer subrange, in basic machine units.
///
public static void FlushMappedNamedBufferRange(uint buffer, int offset, int length) => build_in.ExtensionFunctionsForCurrent.glFlushMappedNamedBufferRange(buffer, offset, length);
///
/// glGetBufferParameter — return parameters of a buffer object
///
///
/// Specifies the name of the buffer object for glGetNamedBufferParameteriv and glGetNamedBufferParameteri64v.
///
///
/// Specifies the name of the buffer object parameter toquery.
///
///
/// Returns the requested parameter.
///
public static void GetNamedBufferParameter(uint buffer, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetNamedBufferParameteriv(buffer, pname, Params);
///
/// glGetBufferParameter — return parameters of a buffer object
///
///
/// Specifies the name of the buffer object for glGetNamedBufferParameteriv and glGetNamedBufferParameteri64v.
///
///
/// Specifies the name of the buffer object parameter toquery.
///
///
/// Returns the requested parameter.
///
public static void GetNamedBufferParameter(uint buffer, uint pname, Int64[] Params) => build_in.ExtensionFunctionsForCurrent.glGetNamedBufferParameteri64v(buffer, pname, Params);
///
/// glGetBufferPointerv, glGetNamedBufferPointerv — return the pointer to a mapped buffer object's data store
///
///
/// Specifies the name of the buffer object for glGetNamedBufferPointerv.
///
///
/// Specifies the name of the pointer to be returned. Mustbe GL_BUFFER_MAP_POINTER.
///
///
/// Returns the pointer value specified by pname.
///
public static void GetNamedBufferPointer(uint buffer, uint pname, IntPtr[] Params) => build_in.ExtensionFunctionsForCurrent.glGetNamedBufferPointerv(buffer, pname, Params);
///
/// glGetBufferSubData, glGetNamedBufferSubData — returns a subset of a buffer object's data store
///
///
/// Specifies the name of the buffer object for glGetNamedBufferSubData.
///
///
/// Specifies the offset into the buffer object's data storefrom which data will be returned, measured in bytes.
///
///
/// Specifies the size in bytes of the data store region being returned.
///
///
/// Specifies a pointer to the location where buffer object data is returned.
///
public static void GetNamedBufferSubData(uint buffer, int offset, int size, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glGetNamedBufferSubData(buffer, offset, size, data);
///
/// glCreateFramebuffers — create framebuffer objects
///
///
/// Number of framebuffer objects to create.
///
///
/// Specifies an array in which names of the newframebuffer objects are stored.
///
public static void CreateFramebuffers(int n, uint[] framebuffers) => build_in.ExtensionFunctionsForCurrent.glCreateFramebuffers(n, framebuffers);
///
/// glFramebufferRenderbuffer, glNamedFramebufferRenderbuffer — attach a renderbuffer as a logical buffer of a framebuffer object
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferRenderbuffer
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// Specifies the renderbuffer target. Must be GL_RENDERBUFFER.
///
///
/// Specifies the name of an existing renderbuffer object oftype renderbuffertarget toattach.
///
public static void NamedFramebufferRenderbuffer(uint framebuffer, uint attachment, uint renderbuffertarget, uint renderbuffer) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
///
/// glFramebufferParameteri, glNamedFramebufferParameteri — set a named parameter of a framebuffer object
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferParameteri.
///
///
/// Specifies the framebuffer parameter to be modified
///
///
/// The new value for the parameter named pname.
///
public static void NamedFramebufferParameter(uint framebuffer, uint pname, int Param) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferParameteri(framebuffer, pname, Param);
///
/// glFramebufferTexture — attach a level of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferTexture.
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// For glFramebufferTexture1D, glFramebufferTexture2D and glFramebufferTexture3D, specifieswhat type of texture is expected in the texture parameter, or for cubemap textures, which face is to be attached.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
public static void NamedFramebufferTexture(uint framebuffer, uint attachment, uint texture, int level) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferTexture(framebuffer, attachment, texture, level);
///
/// glFramebufferTextureLayer, glNamedFramebufferTextureLayer — attach a single layer of a texture object as a logical buffer of a framebuffer object
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferTextureLayer.
///
///
/// Specifies the attachment point of the framebuffer.
///
///
/// Specifies the name of an existing texture object toattach.
///
///
/// Specifies the mipmap level of the texture object toattach.
///
///
/// Specifies the layer of the texture object toattach.
///
public static void NamedFramebufferTextureLayer(uint framebuffer, uint attachment, uint texture, int level, int layer) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
///
/// glDrawBuffer, glNamedFramebufferDrawBuffer — specify which color buffers are to be drawn into
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferDrawBuffer function. Must bezero or the name of a framebuffer object.
///
///
/// For default framebuffer, the argument specifies up to fourcolor buffers to be drawn into. Symbolic constants GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT
/// GL_BACK, GL_LEFT, GL_RIGHT, and GL_FRONT_AND_BACK are accepted. The initialvalue is GL_FRONT for single-buffered contexts,and GL_BACK for double-buffered contexts. Forframebuffer objects,
/// GL_COLOR_ATTACHMENT$m$ and GL_NONE enums are accepted, where $m$ is a value between 0 and GL_MAX_COLOR_ATTACHMENTS.
///
public static void NamedFramebufferDrawBuffer(uint framebuffer, uint buf) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferDrawBuffer(framebuffer, buf);
///
/// glDrawBuffers, glNamedFramebufferDrawBuffers — Specifies a list of color buffers to be drawninto
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferDrawBuffers.
///
///
/// Specifies the number of buffers in bufs.
///
///
/// Points to an array of symbolic constants specifying thebuffers into which fragment colors or data values will bewritten.
///
public static void NamedFramebufferDrawBuffers(uint framebuffer, int n, uint[] bufs) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferDrawBuffers(framebuffer, n, bufs);
///
/// glReadBuffer, glNamedFramebufferReadBuffer — select a color buffer source for pixels
///
///
/// Specifies the name of the framebuffer object for glNamedFramebufferReadBuffer function.
///
///
/// Specifies a color buffer. Accepted values are GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and the constants GL_COLOR_ATTACHMENTi.
///
public static void NamedFramebufferReadBuffer(uint framebuffer, uint src) => build_in.ExtensionFunctionsForCurrent.glNamedFramebufferReadBuffer(framebuffer, src);
///
/// glInvalidateFramebuffer, glInvalidateNamedFramebufferData — invalidate the content of some or all of a framebuffer's attachments
///
///
/// Specifies the name of the framebuffer object for glInvalidateNamedFramebufferData.
///
///
/// Specifies the number of entries in the attachments array.
///
///
/// Specifies a pointer to an array identifying theattachments to be invalidated.
///
public static void InvalidateNamedFramebufferData(uint framebuffer, int numAttachments, uint[] attachments) => build_in.ExtensionFunctionsForCurrent.glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments);
///
/// glInvalidateSubFramebuffer, glInvalidateNamedFramebufferSubData — invalidate the content of a region of some or all of a framebuffer's attachments
///
///
/// Specifies the name of the framebuffer object for glInvalidateNamedFramebufferSubData.
///
///
/// Specifies the number of entries in the attachments array.
///
///
/// Specifies a pointer to an array identifying theattachments to be invalidated.
///
///
/// Specifies the X offset of the region to be invalidated.
///
///
/// Specifies the Y offset of the region to be invalidated.
///
///
/// Specifies the width of the region to be invalidated.
///
///
/// Specifies the height of the region to be invalidated.
///
public static void InvalidateNamedFramebufferSubData(uint framebuffer, int numAttachments, uint[] attachments, int x, int y, int width, int height) => build_in.ExtensionFunctionsForCurrent.glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specifies the name of the framebuffer object for glClearNamedFramebuffer*.
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// A pointer to the value or values to clear the buffer to.
///
public static void ClearNamedFramebuffer(uint framebuffer, uint buffer, int drawbuffer, int[] value) => build_in.ExtensionFunctionsForCurrent.glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specifies the name of the framebuffer object for glClearNamedFramebuffer*.
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// A pointer to the value or values to clear the buffer to.
///
public static void ClearNamedFramebuffer(uint framebuffer, uint buffer, int drawbuffer, uint[] value) => build_in.ExtensionFunctionsForCurrent.glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specifies the name of the framebuffer object for glClearNamedFramebuffer*.
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// A pointer to the value or values to clear the buffer to.
///
public static void ClearNamedFramebuffer(uint framebuffer, uint buffer, int drawbuffer, float[] value) => build_in.ExtensionFunctionsForCurrent.glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value);
///
/// glClearBuffer — clear individual buffers of a framebuffer
///
///
/// Specifies the name of the framebuffer object for glClearNamedFramebuffer*.
///
///
/// Specify the buffer to clear.
///
///
/// Specify a particular draw buffer to clear.
///
///
/// The value to clear the depth buffer to.
///
///
/// The value to clear the stencil buffer to.
///
public static void ClearNamedFramebuffer(uint framebuffer, uint buffer, int drawbuffer, float depth, int stencil) => build_in.ExtensionFunctionsForCurrent.glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil);
///
/// glBlitFramebuffer, glBlitNamedFramebuffer — copy a block of pixels from one framebuffer object to another
///
///
/// Specifies the name of the source framebuffer objectfor glBlitNamedFramebuffer.
///
///
/// Specifies the name of the destination framebuffer objectfor glBlitNamedFramebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
///
///
/// The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT and GL_STENCIL_BUFFER_BIT.
///
///
/// Specifies the interpolation to be applied if the image is stretched. Must be GL_NEAREST or GL_LINEAR.
///
public static void BlitNamedFramebuffer(uint readFramebuffer, uint drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) => build_in.ExtensionFunctionsForCurrent.glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
///
/// glCheckFramebufferStatus, glCheckNamedFramebufferStatus — check the completeness status of a framebuffer
///
///
/// Specifies the name of the framebuffer objectfor glCheckNamedFramebufferStatus
///
///
/// Specify the target to which the framebuffer is bound for glCheckFramebufferStatus, and thetarget against which framebuffer completeness of framebuffer is checked for glCheckNamedFramebufferStatus.
///
///
/// glCheckNamedFramebufferStatus return thecompleteness status of a framebuffer object when treated as aread or draw framebuffer, depending on the value of target.
///
public static uint CheckNamedFramebufferStatus(uint framebuffer, uint target) => build_in.ExtensionFunctionsForCurrent.glCheckNamedFramebufferStatus(framebuffer, target);
///
/// glGetFramebufferParameteriv, glGetNamedFramebufferParameteriv — query a named parameter of a framebuffer object
///
///
/// Specifies the name of the framebuffer object for glGetNamedFramebufferParameteriv.
///
///
/// Specifies the parameter of the framebuffer object toquery.
///
///
/// Returns the value of parameter pname for the framebuffer object.
///
public static void GetNamedFramebufferParameter(uint framebuffer, uint pname, int[] Param) => build_in.ExtensionFunctionsForCurrent.glGetNamedFramebufferParameteriv(framebuffer, pname, Param);
///
/// glGetFramebufferAttachmentParameteriv, glGetNamedFramebufferAttachmentParameteriv — retrieve information about attachments of a framebuffer object
///
///
/// Specifies the name of the framebuffer object for glGetNamedFramebufferAttachmentParameteriv
///
///
/// Specifies the attachment of the framebuffer object toquery.
///
///
/// Specifies the parameter of attachment to query.
///
///
/// Returns the value of parameter pname for attachment.
///
public static void GetNamedFramebufferAttachmentParameter(uint framebuffer, uint attachment, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, Params);
///
/// glCreateRenderbuffers — create renderbuffer objects
///
///
/// Number of renderbuffer objects to create.
///
///
/// Specifies an array in which names of the new renderbufferobjects are stored.
///
public static void CreateRenderbuffers(int n, uint[] renderbuffers) => build_in.ExtensionFunctionsForCurrent.glCreateRenderbuffers(n, renderbuffers);
///
/// glRenderbufferStorage, glNamedRenderbufferStorage — establish data storage, format and dimensions of arenderbuffer object's image
///
///
/// Specifies the name of the renderbuffer object for glNamedRenderbufferStorage function.
///
///
/// Specifies the internal format to use for the renderbufferobject's image.
///
///
/// Specifies the width of the renderbuffer, in pixels.
///
///
/// Specifies the height of the renderbuffer, in pixels.
///
public static void NamedRenderbufferStorage(uint renderbuffer, uint internalformat, int width, int height) => build_in.ExtensionFunctionsForCurrent.glNamedRenderbufferStorage(renderbuffer, internalformat, width, height);
///
/// glRenderbufferStorageMultisample, glNamedRenderbufferStorageMultisample — establish data storage, format, dimensions and sample count ofa renderbuffer object's image
///
///
/// Specifies the name of the renderbuffer object for glNamedRenderbufferStorageMultisamplefunction.
///
///
/// Specifies the number of samples to be used for therenderbuffer object's storage.
///
///
/// Specifies the internal format to use for the renderbufferobject's image.
///
///
/// Specifies the width of the renderbuffer, in pixels.
///
///
/// Specifies the height of the renderbuffer, in pixels.
///
public static void NamedRenderbufferStorageMultisample(uint renderbuffer, int samples, uint internalformat, int width, int height) => build_in.ExtensionFunctionsForCurrent.glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height);
///
/// glGetRenderbufferParameteriv, glGetNamedRenderbufferParameteriv — query a named parameter of a renderbuffer object
///
///
/// Specifies the name of the renderbuffer object for glGetNamedRenderbufferParameteriv.
///
///
/// Specifies the parameter of the renderbuffer object toquery.
///
///
/// Returns the value of parameter pname for the renderbuffer object.
///
public static void GetNamedRenderbufferParameter(uint renderbuffer, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetNamedRenderbufferParameteriv(renderbuffer, pname, Params);
///
/// glCreateTextures — create texture objects
///
///
/// Specifies the effective texture targetof each created texture.
/// target must be one of GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_BUFFER, GL_TEXTURE_2D_MULTISAMPLE or GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
///
///
/// Number of texture objects to create.
///
///
/// Specifies an array in which names of the new textureobjects are stored.
///
public static void CreateTextures(uint target, int n, uint[] textures) => build_in.ExtensionFunctionsForCurrent.glCreateTextures(target, n, textures);
///
/// glTexBuffer, glTextureBuffer — attach a buffer object's data store to a buffer texture object
///
///
/// Specifies the texture object name for glTextureBuffer.
///
///
/// Specifies the internal format of the data in the storebelonging to buffer.
///
///
/// Specifies the name of the buffer object whose storage toattach to the active buffer texture.
///
public static void TextureBuffer(uint texture, uint internalformat, uint buffer) => build_in.ExtensionFunctionsForCurrent.glTextureBuffer(texture, internalformat, buffer);
///
/// glTexBufferRange, glTextureBufferRange — attach a range of a buffer object's data store to a buffer texture object
///
///
/// Specifies the texture object name for glTextureBufferRange.
///
///
/// Specifies the internal format of the data in the storebelonging to buffer.
///
///
/// Specifies the name of the buffer object whose storage toattach to the active buffer texture.
///
///
/// Specifies the offset of the start of the range of thebuffer's data store to attach.
///
///
/// Specifies the size of the range of the buffer's datastore to attach.
///
public static void TextureBufferRange(uint texture, uint internalformat, uint buffer, int offset, int size) => build_in.ExtensionFunctionsForCurrent.glTextureBufferRange(texture, internalformat, buffer, offset, size);
///
/// glTexStorage1D, glTextureStorage1D — simultaneously specify storage for all levels of a one-dimensional texture
///
///
/// Specifies the texture object name for glTextureStorage1D. The effectivetarget of texture must be one ofthe valid non-proxy target valuesabove.
///
///
/// Specify the number of texture levels.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
public static void TextureStorage1D(uint texture, int levels, uint internalformat, int width) => build_in.ExtensionFunctionsForCurrent.glTextureStorage1D(texture, levels, internalformat, width);
///
/// glTexStorage2D, glTextureStorage2D — simultaneously specify storage for all levels of a two-dimensional or one-dimensional array texture
///
///
/// Specifies the texture object name for glTextureStorage2D. The effectivetarget of texture must be one ofthe valid non-proxy target valuesabove.
///
///
/// Specify the number of texture levels.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
public static void TextureStorage2D(uint texture, int levels, uint internalformat, int width, int height) => build_in.ExtensionFunctionsForCurrent.glTextureStorage2D(texture, levels, internalformat, width, height);
///
/// glTexStorage3D, glTextureStorage3D — simultaneously specify storage for all levels of a three-dimensional, two-dimensional array or cube-map array texture
///
///
/// Specifies the texture object name for glTextureStorage3D. The effectivetarget of texture must be one ofthe valid non-proxy target valuesabove.
///
///
/// Specify the number of texture levels.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
///
/// Specifies the depth of the texture, in texels.
///
public static void TextureStorage3D(uint texture, int levels, uint internalformat, int width, int height, int depth) => build_in.ExtensionFunctionsForCurrent.glTextureStorage3D(texture, levels, internalformat, width, height, depth);
///
/// glTexStorage2DMultisample, glTextureStorage2DMultisample — specify storage for a two-dimensional multisample texture
///
///
/// Specifies the texture object name for glTextureStorage2DMultisample. Theeffective target of texture mustbe one of the valid non-proxy target values above.
///
///
/// Specify the number of samples in the texture.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
///
/// Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will notdepend on the internal format or size of the image.
///
public static void TextureStorage2DMultisample(uint texture, int samples, uint internalformat, int width, int height, bool fixedsamplelocations) => build_in.ExtensionFunctionsForCurrent.glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
///
/// glTexStorage3DMultisample, glTextureStorage3DMultisample — specify storage for a two-dimensional multisample array texture
///
///
/// Specifies the texture object name for glTextureStorage3DMultisample. Theeffective target of texture mustbe one of the valid non-proxy target values above.
///
///
/// Specify the number of samples in the texture.
///
///
/// Specifies the sized internal format to be used to store texture image data.
///
///
/// Specifies the width of the texture, in texels.
///
///
/// Specifies the height of the texture, in texels.
///
///
/// Specifies the depth of the texture, in layers.
///
///
/// Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will notdepend on the internal format or size of the image.
///
public static void TextureStorage3DMultisample(uint texture, int samples, uint internalformat, int width, int height, int depth, bool fixedsamplelocations) => build_in.ExtensionFunctionsForCurrent.glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
///
/// glTexSubImage1D, glTextureSubImage1D — specify a one-dimensional texture subimage
///
///
/// Specifies the texture object name for glTextureSubImage1D. The effectivetarget of texture must be one ofthe valid target values above.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texture array.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the format of the pixel data.The following symbolic values are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_DEPTH_COMPONENT, and GL_STENCIL_INDEX.
///
///
/// Specifies the data type of the pixel data.The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV,
/// GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
///
///
/// Specifies a pointer to the image data in memory.
///
public static void TextureSubImage1D(uint texture, int level, int xoffset, int width, uint format, uint type, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels);
///
/// glTexSubImage2D, glTextureSubImage2D — specify a two-dimensional texture subimage
///
///
/// Specifies the texture object name for glTextureSubImage2D. The effectivetarget of texture must be one ofthe valid target values above.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texture array.
///
///
/// Specifies a texel offset in the y direction within the texture array.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the format of the pixel data.The following symbolic values are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_DEPTH_COMPONENT, and GL_STENCIL_INDEX.
///
///
/// Specifies the data type of the pixel data.The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5,
/// GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
///
///
/// Specifies a pointer to the image data in memory.
///
public static void TextureSubImage2D(uint texture, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels);
///
/// glTexSubImage3D, glTextureSubImage3D — specify a three-dimensional texture subimage
///
///
/// Specifies the texture object name for glTextureSubImage3D. The effectivetarget of texture must be one ofthe valid target values above.
///
///
/// Specifies the level-of-detail number.Level 0 is the base image level.Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texture array.
///
///
/// Specifies a texel offset in the y direction within the texture array.
///
///
/// Specifies a texel offset in the z direction within the texture array.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the depth of the texture subimage.
///
///
/// Specifies the format of the pixel data.The following symbolic values are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_DEPTH_COMPONENT, and GL_STENCIL_INDEX.
///
///
/// Specifies the data type of the pixel data.The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
/// GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
/// GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
///
///
/// Specifies a pointer to the image data in memory.
///
public static void TextureSubImage3D(uint texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
///
/// glCompressedTexSubImage1D, glCompressedTextureSubImage1D — specify a one-dimensional texture subimage in a compressedformat
///
///
/// Specifies the texture object name for glCompressedTextureSubImage1D function.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the format of the compressed image data stored ataddress data.
///
///
/// Specifies the number of unsigned bytes of image data startingat the address specified by data.
///
///
/// Specifies a pointer to the compressed image data inmemory.
///
public static void CompressedTextureSubImage1D(uint texture, int level, int xoffset, int width, uint format, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data);
///
/// glCompressedTexSubImage2D, glCompressedTextureSubImage2D — specify a two-dimensional texture subimage in a compressed format
///
///
/// Specifies the texture object name for glCompressedTextureSubImage2D function.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the format of the compressed image data stored ataddress data.
///
///
/// Specifies the number of unsigned bytes of image data startingat the address specified by data.
///
///
/// Specifies a pointer to the compressed image data inmemory.
///
public static void CompressedTextureSubImage2D(uint texture, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data);
///
/// glCompressedTexSubImage3D, glCompressedTextureSubImage3D — specify a three-dimensional texture subimage in a compressed format
///
///
/// Specifies the texture object name for glCompressedTextureSubImage3D function.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies a texel offset in the z direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the depth of the texture subimage.
///
///
/// Specifies the format of the compressed image data stored ataddress data.
///
///
/// Specifies the number of unsigned bytes of image data startingat the address specified by data.
///
///
/// Specifies a pointer to the compressed image data inmemory.
///
public static void CompressedTextureSubImage3D(uint texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
///
/// glCopyTexSubImage1D, glCopyTextureSubImage1D — copy a one-dimensional texture subimage
///
///
/// Specifies the texture object name for glCopyTextureSubImage1D function.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies the texel offset within the texture array.
///
///
/// Specify the window coordinates of the left corner of the rowof pixels to be copied.
///
///
/// Specify the window coordinates of the left corner of the rowof pixels to be copied.
///
///
/// Specifies the width of the texture subimage.
///
public static void CopyTextureSubImage1D(uint texture, int level, int xoffset, int x, int y, int width) => build_in.ExtensionFunctionsForCurrent.glCopyTextureSubImage1D(texture, level, xoffset, x, y, width);
///
/// glCopyTexSubImage2D, glCopyTextureSubImage2D — copy a two-dimensional texture subimage
///
///
/// Specifies the texture object name for glCopyTextureSubImage2D function.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specify the window coordinates of the lower left corner of therectangular region of pixels to be copied.
///
///
/// Specify the window coordinates of the lower left corner of therectangular region of pixels to be copied.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
public static void CopyTextureSubImage2D(uint texture, int level, int xoffset, int yoffset, int x, int y, int width, int height) => build_in.ExtensionFunctionsForCurrent.glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height);
///
/// glCopyTexSubImage3D, glCopyTextureSubImage3D — copy a three-dimensional texture subimage
///
///
/// Specifies the texture object name for glCopyTextureSubImage3D function.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the nth mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texture array.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies a texel offset in the z direction within the texturearray.
///
///
/// Specify the window coordinates of the lower left corner of therectangular region of pixels to be copied.
///
///
///Specify the window coordinates of the lower left corner of therectangular region of pixels to be copied.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
public static void CopyTextureSubImage3D(uint texture, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) => build_in.ExtensionFunctionsForCurrent.glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the texture object name for glTextureParameter functions.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_SWIZZLE_R,
/// GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
///
///
/// For the scalar commands, specifies the value of pname.
///
public static void TextureParameter(uint texture, uint pname, float Param) => build_in.ExtensionFunctionsForCurrent.glTextureParameterf(texture, pname, Param);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the texture object name for glTextureParameter functions.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_SWIZZLE_R,
/// GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
/// For the vector commands(glTexParameter*v), pname can also be one of GL_TEXTURE_BORDER_COLOR or GL_TEXTURE_SWIZZLE_RGBA.
///
///
/// For the vector commands, specifies a pointer to an array wherethe value or values of pname arestored.
///
public static void TextureParameter(uint texture, uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glTextureParameterfv(texture, pname, Params);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the texture object name for glTextureParameter functions.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_SWIZZLE_R,
/// GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
///
///
/// For the scalar commands, specifies the value of pname.
///
public static void TextureParameter(uint texture, uint pname, int Param) => build_in.ExtensionFunctionsForCurrent.glTextureParameteri(texture, pname, Param);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the texture object name for glTextureParameter functions.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_SWIZZLE_R,
/// GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
/// For the vector commands(glTexParameter*v), pname can also be one of GL_TEXTURE_BORDER_COLOR or GL_TEXTURE_SWIZZLE_RGBA.
///
///
/// For the vector commands, specifies a pointer to an array wherethe value or values of pname arestored.
///
public static void TextureParameterI(uint texture, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glTextureParameterIiv(texture, pname, Params);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the texture object name for glTextureParameter functions.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_SWIZZLE_R,
/// GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
/// For the vector commands(glTexParameter*v), pname can also be one of GL_TEXTURE_BORDER_COLOR or GL_TEXTURE_SWIZZLE_RGBA.
///
///
/// For the vector commands, specifies a pointer to an array wherethe value or values of pname arestored.
///
public static void TextureParameterI(uint texture, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glTextureParameterIuiv(texture, pname, Params);
///
/// glTexParameter, glTextureParameter — set texture parameters
///
///
/// Specifies the texture object name for glTextureParameter functions.
///
///
/// Specifies the symbolic name of a single-valued textureparameter. pname can be one of the following: GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_SWIZZLE_R,
/// GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, or GL_TEXTURE_WRAP_R.
/// For the vector commands(glTexParameter*v), pname can also be one of GL_TEXTURE_BORDER_COLOR or GL_TEXTURE_SWIZZLE_RGBA.
///
///
/// For the scalar commands, specifies the value of pname.
///
public static void TextureParameter(uint texture, uint pname, int[] Param) => build_in.ExtensionFunctionsForCurrent.glTextureParameteriv(texture, pname, Param);
///
/// glGenerateMipmap, glGenerateTextureMipmap — generate mipmaps for a specified texture object
///
///
/// Specifies the texture object name for glGenerateTextureMipmap.
///
public static void GenerateTextureMipmap(uint texture) => build_in.ExtensionFunctionsForCurrent.glGenerateTextureMipmap(texture);
///
/// glBindTextureUnit — bind an existing texture object to the specified texture unit
///
///
/// Specifies the texture unit, to which the texture object should be bound to.
///
///
/// Specifies the name of a texture.
///
public static void BindTextureUnit(uint unit, uint texture) => build_in.ExtensionFunctionsForCurrent.glBindTextureUnit(unit, texture);
///
/// glGetTexImage — return a texture image
///
///
/// Specifies the texture object name.
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level.Level n is the n-th mipmap reduction image.
///
///
/// Specifies a pixel format for the returned data. The supportedformats are GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_DEPTH_STENCIL, GL_RED, GL_GREEN, GL_BLUE, GL_RG, GL_RGB, GL_RGBA, GL_BGR,
/// GL_BGRA, GL_RED_INTEGER, GL_GREEN_INTEGER, GL_BLUE_INTEGER, GL_RG_INTEGER, GL_RGB_INTEGER, GL_RGBA_INTEGER, GL_BGR_INTEGER, GL_BGRA_INTEGER.
///
///
/// Specifies a pixel type for the returned data. The supportedtypes are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_HALF_FLOAT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
/// GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8,
/// GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_UNSIGNED_INT_5_9_9_9_REV, and GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
///
///
/// Specifies the size of the buffer pixelsfor glGetnTexImage and glGetTextureImage functions.
///
///
/// Returns the texture image. Should be a pointer to an array ofthe type specified by type.
///
public static void GetTextureImage(uint texture, int level, uint format, uint type, int bufSize, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glGetTextureImage(texture, level, format, type, bufSize, pixels);
///
/// glGetCompressedTexImage — return a compressed texture image
///
///
/// Specifies the texture object name for glGetCompressedTextureImage function.
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level. Level n is the n-th mipmap reduction image.
///
///
/// Specifies the size of the buffer pixelsfor glGetCompressedTextureImage and glGetnCompressedTexImage functions.
///
///
/// Returns the compressed texture image.
///
public static void GetCompressedTextureImage(uint texture, int level, int bufSize, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glGetCompressedTextureImage(texture, level, bufSize, pixels);
///
/// glGetTexLevelParameter — return texture parameter values for a specific level ofdetail
///
///
/// Specifies the texture object name for glGetTextureLevelParameterfv and glGetTextureLevelParameteriv functions.
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level.Level n is the n-th mipmap reduction image.
///
///
/// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE,
/// GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, and GL_TEXTURE_BUFFER_OFFSET are accepted.
///
///
/// Returns the requested data.
///
public static void GetTextureLevelParameter(uint texture, int level, uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTextureLevelParameterfv(texture, level, pname, Params);
///
/// glGetTexLevelParameter — return texture parameter values for a specific level ofdetail
///
///
/// Specifies the texture object name for glGetTextureLevelParameterfv and glGetTextureLevelParameteriv functions.
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level.Level n is the n-th mipmap reduction image.
///
///
/// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE,
/// GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, and GL_TEXTURE_BUFFER_OFFSET are accepted.
///
///
/// Returns the requested data.
///
public static void GetTextureLevelParameter(uint texture, int level, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTextureLevelParameteriv(texture, level, pname, Params);
///
/// glGetTexParameter — return texture parameter values
///
///
/// Specifies the texture object name for glGetTextureParameterfv, glGetTextureParameteriv, glGetTextureParameterIiv, and glGetTextureParameterIuiv functions.
///
///
/// Specifies the symbolic name of a texture parameter. GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER,
/// GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER,
/// GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R are accepted.
///
///
/// Returns the texture parameters.
///
public static void GetTextureParameter(uint texture, uint pname, float[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTextureParameterfv(texture, pname, Params);
///
/// glGetTexParameter — return texture parameter values
///
///
/// Specifies the texture object name for glGetTextureParameterfv, glGetTextureParameteriv, glGetTextureParameterIiv, and glGetTextureParameterIuiv functions.
///
///
/// Specifies the symbolic name of a texture parameter. GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER,
/// GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER,
/// GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R are accepted.
///
///
/// Returns the texture parameters.
///
public static void GetTextureParameterI(uint texture, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTextureParameterIiv(texture, pname, Params);
///
/// glGetTexParameter — return texture parameter values
///
///
/// Specifies the texture object name for glGetTextureParameterfv, glGetTextureParameteriv, glGetTextureParameterIiv, and glGetTextureParameterIuiv functions.
///
///
/// Specifies the symbolic name of a texture parameter. GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER,
/// GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER,
/// GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R are accepted.
///
///
/// Returns the texture parameters.
///
public static void GetTextureParameterI(uint texture, uint pname, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTextureParameterIuiv(texture, pname, Params);
///
/// glGetTexParameter — return texture parameter values
///
///
/// Specifies the texture object name for glGetTextureParameterfv, glGetTextureParameteriv, glGetTextureParameterIiv, and glGetTextureParameterIuiv functions.
///
///
/// Specifies the symbolic name of a texture parameter. GL_DEPTH_STENCIL_TEXTURE_MODE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_COMPARE_MODE,
/// GL_TEXTURE_COMPARE_FUNC, GL_TEXTURE_IMMUTABLE_FORMAT, GL_TEXTURE_IMMUTABLE_LEVELS, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_MAX_LOD, GL_TEXTURE_MIN_FILTER,
/// GL_TEXTURE_MIN_LOD, GL_TEXTURE_SWIZZLE_R, GL_TEXTURE_SWIZZLE_G, GL_TEXTURE_SWIZZLE_B, GL_TEXTURE_SWIZZLE_A, GL_TEXTURE_SWIZZLE_RGBA, GL_TEXTURE_TARGET, GL_TEXTURE_VIEW_MIN_LAYER,
/// GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LAYERS, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R are accepted.
///
///
/// Returns the texture parameters.
///
public static void GetTextureParameter(uint texture, uint pname, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetTextureParameteriv(texture, pname, Params);
///
/// glCreateVertexArrays — create vertex array objects
///
///
/// Number of vertex array objects to create.
///
///
/// Specifies an array in which names of the new vertex arrayobjects are stored.
///
public static void CreateVertexArrays(int n, uint[] arrays) => build_in.ExtensionFunctionsForCurrent.glCreateVertexArrays(n, arrays);
///
/// glDisableVertexAttribArray — disable a generic vertex attributearray
///
///
/// Specifies the name of the vertex array object for glDisableVertexArrayAttrib and glEnableVertexArrayAttrib functions.
///
///
/// Specifies the index of the generic vertex attribute to beenabled or disabled.
///
public static void DisableVertexArrayAttrib(uint vaobj, uint index) => build_in.ExtensionFunctionsForCurrent.glDisableVertexArrayAttrib(vaobj, index);
///
/// glEnableVertexAttribArray — enable a generic vertex attributearray
///
///
/// Specifies the name of the vertex array object for glDisableVertexArrayAttrib and glEnableVertexArrayAttrib functions.
///
///
/// Specifies the index of the generic vertex attribute to beenabled or disabled.
///
public static void EnableVertexArrayAttrib(uint vaobj, uint index) => build_in.ExtensionFunctionsForCurrent.glEnableVertexArrayAttrib(vaobj, index);
///
/// glVertexArrayElementBuffer — configures element array buffer binding of a vertex array object
///
///
/// Specifies the name of the vertex array object.
///
///
/// Specifies the name of the buffer object to use for the element array buffer binding
///
public static void VertexArrayElementBuffer(uint vaobj, uint buffer) => build_in.ExtensionFunctionsForCurrent.glVertexArrayElementBuffer(vaobj, buffer);
///
/// glBindVertexBuffer, glVertexArrayVertexBuffer — bind a buffer to a vertex buffer bind point
///
///
/// Specifies the name of the vertex array object to be used by glVertexArrayVertexBuffer function.
///
///
/// The index of the vertex buffer binding point to which to bindthe buffer.
///
///
/// The name of a buffer to bind to the vertex buffer bindingpoint.
///
///
/// The offset of the first element of the buffer.
///
///
/// The distance between elements within the buffer.
///
public static void VertexArrayVertexBuffer(uint vaobj, uint bindingindex, uint buffer, int offset, int stride) => build_in.ExtensionFunctionsForCurrent.glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride);
///
/// glBindVertexBuffers, glVertexArrayVertexBuffers — attach multiple buffer objects to a vertex array object
///
///
/// Specifies the name of the vertex array object for glVertexArrayVertexBuffers.
///
///
/// Specifies the name of the vertex array object for glVertexArrayVertexBuffers.
///
///
/// Specifies the number of buffers to bind.
///
///
/// Specifies the address of an array of names of existingbuffer objects.
///
///
/// Specifies the address of an array of offsets toassociate with the binding points.
///
///
/// Specifies the address of an array of strides toassociate with the binding points.
///
public static void VertexArrayVertexBuffers(uint vaobj, uint first, int count, uint[] buffers, int[] offsets, int[] strides) => build_in.ExtensionFunctionsForCurrent.glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides);
///
/// glVertexAttribBinding — associate a vertex attribute and a vertex buffer binding for a vertex array object
///
///
/// Specifies the name of the vertex array object for glVertexArrayAttribBinding.
///
///
/// The index of the attribute to associate with a vertexbuffer binding.
///
///
/// The index of the vertex buffer binding with which toassociate the generic vertex attribute
///
public static void VertexArrayAttribBinding(uint vaobj, uint attribindex, uint bindingindex) => build_in.ExtensionFunctionsForCurrent.glVertexArrayAttribBinding(vaobj, attribindex, bindingindex);
///
/// glVertexAttribFormat, glVertexArrayAttribFormat — specify the organization of vertex arrays
///
///
/// Specifies the name of the vertex array object for glVertexArrayAttrib{I, L}Formatfunctions.
///
///
/// The generic vertex attribute array being described.
///
///
/// The number of values per vertex that are stored in thearray.
///
///
/// The type of the data stored in the array.
///
///
/// Specifies whether fixed-point data values should be normalized (GL_TRUE) orconverted directly as fixed-point values (GL_FALSE) when they are accessed. This parameter is ignored if type is GL_FIXED.
///
///
/// The distance between elements within the buffer.
///
public static void VertexArrayAttribFormat(uint vaobj, uint attribindex, int size, uint type, bool normalized, uint relativeoffset) => build_in.ExtensionFunctionsForCurrent.glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset);
///
/// glVertexAttribFormat, glVertexArrayAttribFormat — specify the organization of vertex arrays
///
///
/// Specifies the name of the vertex array object for glVertexArrayAttrib{I, L}Formatfunctions.
///
///
/// The generic vertex attribute array being described.
///
///
/// The number of values per vertex that are stored in thearray.
///
///
/// The type of the data stored in the array.
///
///
/// The distance between elements within the buffer.
///
public static void VertexArrayAttribIFormat(uint vaobj, uint attribindex, int size, uint type, uint relativeoffset) => build_in.ExtensionFunctionsForCurrent.glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset);
///
/// glVertexAttribFormat, glVertexArrayAttribFormat — specify the organization of vertex arrays
///
///
/// Specifies the name of the vertex array object for glVertexArrayAttrib{I, L}Formatfunctions.
///
///
/// The generic vertex attribute array being described.
///
///
/// The number of values per vertex that are stored in thearray.
///
///
/// The type of the data stored in the array.
///
///
/// The distance between elements within the buffer.
///
public static void VertexArrayAttribLFormat(uint vaobj, uint attribindex, int size, uint type, uint relativeoffset) => build_in.ExtensionFunctionsForCurrent.glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset);
///
/// glVertexBindingDivisor, glVertexArrayBindingDivisor — modify the rate at which generic vertex attributesadvance
///
///
/// Specifies the name of the vertex array object for glVertexArrayBindingDivisor function.
///
///
/// The index of the binding whose divisor to modify.
///
///
/// The new value for the instance step rate to apply.
///
public static void VertexArrayBindingDivisor(uint vaobj, uint bindingindex, uint divisor) => build_in.ExtensionFunctionsForCurrent.glVertexArrayBindingDivisor(vaobj, bindingindex, divisor);
///
/// glGetVertexArrayiv — retrieve parameters of a vertex array object
///
///
/// specifies the name of the vertex array object to use for thequery.
///
///
/// Name of the property to use for the query. Must be GL_ELEMENT_ARRAY_BUFFER_BINDING.
///
///
/// Returns the requested value.
///
public static void GetVertexArray(uint vaobj, uint pname, int[] Param) => build_in.ExtensionFunctionsForCurrent.glGetVertexArrayiv(vaobj, pname, Param);
///
/// glGetVertexArrayIndexed — retrieve parameters of an attribute of a vertex arrayobject
///
///
/// Specifies the name of a vertex array object.
///
///
/// Specifies the index of the vertex array object attribute. Mustbe a number between 0 and(GL_MAX_VERTEX_ATTRIBS - 1).
///
///
/// Specifies the property to be used for the query. For glGetVertexArrayIndexediv, it must be one ofthe following values: GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE,
/// GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_LONG, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_VERTEX_ATTRIB_RELATIVE_OFFSET.
///
///
/// Returns the requested value.
///
public static void GetVertexArrayIndexed(uint vaobj, uint index, uint pname, int[] Param) => build_in.ExtensionFunctionsForCurrent.glGetVertexArrayIndexediv(vaobj, index, pname, Param);
///
/// glGetVertexArrayIndexed — retrieve parameters of an attribute of a vertex arrayobject
///
///
/// Specifies the name of a vertex array object.
///
///
/// Specifies the index of the vertex array object attribute. Mustbe a number between 0 and(GL_MAX_VERTEX_ATTRIBS - 1).
///
///
/// Specifies the property to be used for the query. For glGetVertexArrayIndexediv, it must be one ofthe following values: GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE,
/// GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_VERTEX_ATTRIB_ARRAY_INTEGER, GL_VERTEX_ATTRIB_ARRAY_LONG, GL_VERTEX_ATTRIB_ARRAY_DIVISOR, or GL_VERTEX_ATTRIB_RELATIVE_OFFSET.
/// For glGetVertexArrayIndexed64v, it must be equal to GL_VERTEX_BINDING_OFFSET.
///
///
/// Returns the requested value.
///
public static void GetVertexArrayIndexed(uint vaobj, uint index, uint pname, Int64[] Param) => build_in.ExtensionFunctionsForCurrent.glGetVertexArrayIndexed64iv(vaobj, index, pname, Param);
///
/// glCreateSamplers — create sampler objects
///
///
/// Number of sampler objects to create.
///
///
/// Specifies an array in which names of the new samplerobjects are stored.
///
public static void CreateSamplers(int n, uint[] samplers) => build_in.ExtensionFunctionsForCurrent.glCreateSamplers(n, samplers);
///
/// glCreateProgramPipelines — create program pipeline objects
///
///
/// Number of program pipeline objects to create.
///
///
/// Specifies an array in which names of the new programpipeline objects are stored.
///
public static void CreateProgramPipelines(int n, uint[] pipelines) => build_in.ExtensionFunctionsForCurrent.glCreateProgramPipelines(n, pipelines);
///
/// glCreateQueries — create query objects
///
///
/// Specifies the target of each created query object.
///
///
/// Number of query objects to create
///
///
/// Specifies an array in which names of the new queryobjects are stored.
///
public static void CreateQueries(uint target, int n, uint[] ids) => build_in.ExtensionFunctionsForCurrent.glCreateQueries(target, n, ids);
///
/// glGetQueryObject, glGetQueryBufferObject — return parameters of a query object
///
///
/// Specifies the name of a query object
///
///
/// Specifies the name of a buffer object.
///
///
/// Specifies the symbolic name of a query object parameter.Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
///
///
/// Specifies the byte offset into buffer's data storewhere the queried result will be written.
///
public static void GetQueryBufferObjecti64v(uint id, uint buffer, uint pname, int offset) => build_in.ExtensionFunctionsForCurrent.glGetQueryBufferObjecti64v(id, buffer, pname, offset);
///
/// glGetQueryObject, glGetQueryBufferObject — return parameters of a query object
///
///
/// Specifies the name of a query object
///
///
/// Specifies the name of a buffer object.
///
///
/// Specifies the symbolic name of a query object parameter.Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
///
///
/// Specifies the byte offset into buffer's data storewhere the queried result will be written.
///
public static void GetQueryBufferObjectiv(uint id, uint buffer, uint pname, int offset) => build_in.ExtensionFunctionsForCurrent.glGetQueryBufferObjectiv(id, buffer, pname, offset);
///
/// glGetQueryObject, glGetQueryBufferObject — return parameters of a query object
///
///
/// Specifies the name of a query object
///
///
/// Specifies the name of a buffer object.
///
///
/// Specifies the symbolic name of a query object parameter.Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
///
///
/// Specifies the byte offset into buffer's data storewhere the queried result will be written.
///
public static void GetQueryBufferObjectui64v(uint id, uint buffer, uint pname, int offset) => build_in.ExtensionFunctionsForCurrent.glGetQueryBufferObjectui64v(id, buffer, pname, offset);
///
/// glGetQueryObject, glGetQueryBufferObject — return parameters of a query object
///
///
/// Specifies the name of a query object
///
///
/// Specifies the name of a buffer object.
///
///
/// Specifies the symbolic name of a query object parameter.Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
///
///
/// Specifies the byte offset into buffer's data storewhere the queried result will be written.
///
public static void GetQueryBufferObjectuiv(uint id, uint buffer, uint pname, int offset) => build_in.ExtensionFunctionsForCurrent.glGetQueryBufferObjectuiv(id, buffer, pname, offset);
///
/// glMemoryBarrier — defines a barrier ordering memory transactions
///
///
/// For glMemoryBarrier, must be abitwise combination of any of GL_ATOMIC_COUNTER_BARRIER_BIT, or GL_FRAMEBUFFER_BARRIER_BIT, GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, GL_SHADER_STORAGE_BARRIER_BIT.
/// GL_TEXTURE_FETCH_BARRIER_BIT, or GL_UNIFORM_BARRIER_BIT. If the special value GL_ALL_BARRIER_BITS is specified,all supported barriers for the corresponding commandwill be inserted.
///
public static void MemoryBarrierByRegion(uint barriers) => build_in.ExtensionFunctionsForCurrent.glMemoryBarrierByRegion(barriers);
///
/// glGetTextureSubImage — retrieve a sub-region of a texture image from a textureobject
///
///
/// Specifies the name of the source texture object. Must be GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY or GL_TEXTURE_RECTANGLE.
/// In specific, buffer andmultisample textures are not permitted.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the n-th mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray.
///
///
/// Specifies a texel offset in the z direction within the texturearray.
///
///
/// Specifies the width of the texture subimage.
///
///
/// Specifies the height of the texture subimage.
///
///
/// Specifies the depth of the texture subimage.
///
///
/// Specifies the format of the pixel data. The following symbolicvalues are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_DEPTH_COMPONENT and GL_STENCIL_INDEX.
///
///
/// Specifies the data type of the pixel data. The followingsymbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
/// GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1,
/// GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
///
///
/// Specifies the size of the buffer to receive the retrievedpixel data.
///
///
/// Returns the texture subimage. Should be a pointer to an arrayof the type specified by type.
///
public static void GetTextureSubImage(uint texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, int bufSize, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
///
/// glGetCompressedTextureSubImage — retrieve a sub-region of a compressed texture image from acompressed texture object
///
///
/// Specifies the name of the source texture object. Must be GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP,
/// GL_TEXTURE_CUBE_MAP_ARRAY or GL_TEXTURE_RECTANGLE. In specific, buffer andmultisample textures are not permitted.
///
///
/// Specifies the level-of-detail number. Level 0 is the baseimage level. Level n is the n-th mipmap reduction image.
///
///
/// Specifies a texel offset in the x direction within the texturearray.
///
///
/// Specifies a texel offset in the y direction within the texturearray
///
///
/// Specifies a texel offset in the z direction within the texturearray.
///
///
/// Specifies the width of the texture subimage. Must be amultiple of the compressed block's width, unless the offset is zero and the size equals the textureimage size.
///
///
/// Specifies the height of the texture subimage. Must be amultiple of the compressed block's height, unless the offset is zero and the size equals the textureimage size.
///
///
/// Specifies the depth of the texture subimage. Must be amultiple of the compressed block's depth, unless the offset is zero and the size equals the textureimage size.
///
///
/// Specifies the size of the buffer to receive the retrievedpixel data.
///
///
/// Returns the texture subimage. Should be a pointer to an arrayof the type specified by type.
///
public static void GetCompressedTextureSubImage(uint texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int bufSize, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
///
/// glGetGraphicsResetStatus — check if the rendering context has not been lost due to software or hardware issues
///
///
/// glGetGraphicsResetStatus can return one of the followingconstants:
/// GL_NO_ERROR,GL_GUILTY_CONTEXT_RESET,GL_INNOCENT_CONTEXT_RESET,GL_UNKNOWN_CONTEXT_RESET
///
public static uint GetGraphicsResetStatus() => build_in.ExtensionFunctionsForCurrent.glGetGraphicsResetStatus();
///
/// glGetCompressedTexImage — return a compressed texture image
///
///
/// Specifies the target to which the texture is bound for glGetCompressedTexImage and glGetnCompressedTexImage functions. GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_ARRAY,
/// GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, GL_TEXTURE_RECTANGLE are accepted
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level. Level n is the n-th mipmap reduction image.
///
///
/// Specifies the size of the buffer pixelsfor glGetCompressedTextureImage and glGetnCompressedTexImage functions.
///
///
/// Returns the compressed texture image.
///
public static void GetnCompressedTexImage(uint target, int lod, int bufSize, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glGetnCompressedTexImage(target, lod, bufSize, pixels);
///
/// glGetTexImage — return a texture image
///
///
/// Specifies the target to which the texture is bound for glGetTexImage and glGetnTexImage functions. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE,
/// GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, and GL_TEXTURE_CUBE_MAP_ARRAY are acceptable.
///
///
/// Specifies the level-of-detail number of the desired image.Level 0 is the base image level.Level n is the n-th mipmap reduction image.
///
///
/// Specifies a pixel format for the returned data. The supportedformats are GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_DEPTH_STENCIL, GL_RED, GL_GREEN, GL_BLUE, GL_RG, GL_RGB, GL_RGBA, GL_BGR,
/// GL_BGRA, GL_RED_INTEGER, GL_GREEN_INTEGER, GL_BLUE_INTEGER, GL_RG_INTEGER, GL_RGB_INTEGER, GL_RGBA_INTEGER, GL_BGR_INTEGER, GL_BGRA_INTEGER.
///
///
/// Specifies a pixel type for the returned data. The supportedtypes are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_HALF_FLOAT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2,
/// GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV,
/// GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_UNSIGNED_INT_5_9_9_9_REV, and GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
///
///
/// Specifies the size of the buffer pixelsfor glGetnTexImage and glGetTextureImage functions.
///
///
/// Returns the texture image. Should be a pointer to an array ofthe type specified by type.
///
public static void GetnTexImage(uint target, int level, uint format, uint type, int bufSize, IntPtr pixels) => build_in.ExtensionFunctionsForCurrent.glGetnTexImage(target, level, format, type, bufSize, pixels);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Specifies the size of the buffer params.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetnUniform(uint program, int location, int bufSize, double[] Params) => build_in.ExtensionFunctionsForCurrent.glGetnUniformdv(program, location, bufSize, Params);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Specifies the size of the buffer params.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetnUniform(uint program, int location, int bufSize, float[] Params) => build_in.ExtensionFunctionsForCurrent.glGetnUniformfv(program, location, bufSize, Params);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Specifies the size of the buffer params.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetnUniform(uint program, int location, int bufSize, int[] Params) => build_in.ExtensionFunctionsForCurrent.glGetnUniformiv(program, location, bufSize, Params);
///
/// glGetUniform — Returns the value of a uniform variable
///
///
/// Specifies the program object to be queried.
///
///
/// Specifies the location of the uniform variable to bequeried.
///
///
/// Specifies the size of the buffer params.
///
///
/// Returns the value of the specified uniform variable.
///
public static void GetnUniform(uint program, int location, int bufSize, uint[] Params) => build_in.ExtensionFunctionsForCurrent.glGetnUniformuiv(program, location, bufSize, Params);
///
/// glReadPixels, glReadnPixels — read a block of pixels from the frame buffer
///
///
/// Specify the window coordinates of the first pixel that is readfrom the frame buffer. This location is the lower left corner of arectangular block of pixels.
///
///
/// Specify the window coordinates of the first pixel that is readfrom the frame buffer. This location is the lower left corner of arectangular block of pixels.
///
///
/// Specify the dimensions of the pixel rectangle. width and height ofone correspond to a single pixel
///
///
/// Specify the dimensions of the pixel rectangle. width and height ofone correspond to a single pixel
///
///
/// Specifies the format of the pixel data. The following symbolicvalues are accepted: GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_DEPTH_STENCIL, GL_RED, GL_GREEN, GL_BLUE, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
///
///
/// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_HALF_FLOAT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV,
/// GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8,
/// GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV, GL_UNSIGNED_INT_24_8, GL_UNSIGNED_INT_10F_11F_11F_REV, GL_UNSIGNED_INT_5_9_9_9_REV, or GL_FLOAT_32_UNSIGNED_INT_24_8_REV.
///
///
/// Specifies the size of the buffer datafor glReadnPixels function.
///
///
/// Returns the pixel data.
///
public static void ReadnPixels(int x, int y, int width, int height, uint format, uint type, int bufSize, IntPtr data) => build_in.ExtensionFunctionsForCurrent.glReadnPixels(x, y, width, height, format, type, bufSize, data);
///
/// glTextureBarrier — controls the ordering of reads and writes to rendered fragments across drawing commands
///
public static void TextureBarrier() => build_in.ExtensionFunctionsForCurrent.glTextureBarrier();
public static void SpecializeShader(uint shader, byte[] pEntryPoint, uint numSpecializationConstants, uint[] pConstantIndex, uint[] pConstantValue) => build_in.ExtensionFunctionsForCurrent.glSpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue);
public static void MultiDrawArraysIndirectCount(uint mode, IntPtr indirect, int drawcount, int maxdrawcount, int stride) => build_in.ExtensionFunctionsForCurrent.glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride);
public static void MultiDrawElementsIndirectCount(uint mode, uint type, IntPtr indirect, int drawcount, int maxdrawcount, int stride) => build_in.ExtensionFunctionsForCurrent.glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride);
public static void PolygonOffsetClamp(float factor, float units, float clamp) => build_in.ExtensionFunctionsForCurrent.glPolygonOffsetClamp(factor, units, clamp);
}
}