Skip to content

Instantly share code, notes, and snippets.

@ForeverZer0
Created May 10, 2020 09:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ForeverZer0/149caae7b6fdbd5152837d7f45e33c1c to your computer and use it in GitHub Desktop.
Save ForeverZer0/149caae7b6fdbd5152837d7f45e33c1c to your computer and use it in GitHub Desktop.
Generated C# bindings for OpenGL 3.3 (Core Profile)
using System;
using System.Runtime.InteropServices;
using System.Security;
// ReSharper disable InconsistentNaming
// ReSharper disable IdentifierTypo
namespace OpenGL
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
public delegate IntPtr GetProcAddressHandler(string funcName);
[SuppressUnmanagedCodeSecurity]
public static unsafe partial class GL
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CullFaceProc(uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FrontFaceProc(uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void HintProc(uint target, uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void LineWidthProc(float width);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointSizeProc(float size);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PolygonModeProc(uint face, uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ScissorProc(int x, int y, uint width, uint height);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterfProc(uint target, uint pname, float param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterfvProc(uint target, uint pname, [In] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterfvProc1(uint target, uint pname, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterfvProc2(uint target, uint pname, [In] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameteriProc(uint target, uint pname, int param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterivProc(uint target, uint pname, [In] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterivProc2(uint target, uint pname, [In] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage1DProc(uint target, int level, int internalformat, uint width, int border, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage1DProc1(uint target, int level, int internalformat, uint width, int border, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage2DProc(uint target, int level, int internalformat, uint width, uint height, int border, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage2DProc1(uint target, int level, int internalformat, uint width, uint height, int border, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawBufferProc(uint buf);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearProc(uint mask);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearColorProc(float red, float green, float blue, float alpha);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearStencilProc(int s);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearDepthProc(double depth);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void StencilMaskProc(uint mask);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ColorMaskProc(bool red, bool green, bool blue, bool alpha);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DepthMaskProc(bool flag);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DisableProc(uint cap);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void EnableProc(uint cap);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BlendFuncProc(uint sfactor, uint dfactor);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void LogicOpProc(uint opcode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void StencilFuncProc(uint func, int reference, uint mask);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void StencilOpProc(uint fail, uint zfail, uint zpass);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DepthFuncProc(uint func);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PixelStorefProc(uint pname, float param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PixelStoreiProc(uint pname, int param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ReadBufferProc(uint src);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ReadPixelsProc(int x, int y, uint width, uint height, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ReadPixelsProc1(int x, int y, uint width, uint height, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBooleanvProc(uint pname, [In, Out] bool *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBooleanvProc1(uint pname, ref bool data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBooleanvProc2(uint pname, [In, Out] bool[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetDoublevProc(uint pname, [In, Out] double *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetDoublevProc1(uint pname, ref double data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetDoublevProc2(uint pname, [In, Out] double[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetFloatvProc(uint pname, [In, Out] float *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetFloatvProc1(uint pname, ref float data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetFloatvProc2(uint pname, [In, Out] float[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetIntegervProc(uint pname, [In, Out] int *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetIntegervProc1(uint pname, ref int data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetIntegervProc2(uint pname, [In, Out] int[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate IntPtr GetStringProc(uint name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexImageProc(uint target, int level, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexImageProc1(uint target, int level, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterfvProc(uint target, uint pname, [In, Out] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterfvProc1(uint target, uint pname, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterfvProc2(uint target, uint pname, [In, Out] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterivProc(uint target, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterivProc2(uint target, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexLevelParameterfvProc(uint target, int level, uint pname, [In, Out] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexLevelParameterfvProc1(uint target, int level, uint pname, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexLevelParameterfvProc2(uint target, int level, uint pname, [In, Out] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexLevelParameterivProc(uint target, int level, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexLevelParameterivProc1(uint target, int level, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexLevelParameterivProc2(uint target, int level, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsEnabledProc(uint cap);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DepthRangeProc(double n, double f);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ViewportProc(int x, int y, uint width, uint height);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawArraysProc(uint mode, int first, uint count);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsProc(uint mode, uint count, uint type, IntPtr indices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsProc1(uint mode, uint count, uint type, void *indices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PolygonOffsetProc(float factor, float units);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CopyTexImage1DProc(uint target, int level, uint internalformat, int x, int y, uint width, int border);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CopyTexImage2DProc(uint target, int level, uint internalformat, int x, int y, uint width, uint height, int border);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CopyTexSubImage1DProc(uint target, int level, int xoffset, int x, int y, uint width);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CopyTexSubImage2DProc(uint target, int level, int xoffset, int yoffset, int x, int y, uint width, uint height);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexSubImage1DProc(uint target, int level, int xoffset, uint width, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexSubImage1DProc1(uint target, int level, int xoffset, uint width, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexSubImage2DProc(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexSubImage2DProc1(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindTextureProc(uint target, uint texture);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteTexturesProc(uint n, [In] uint *textures);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteTexturesProc1(uint n, ref uint textures);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteTexturesProc2(uint n, [In] uint[] textures);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenTexturesProc(uint n, [In, Out] uint *textures);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenTexturesProc1(uint n, ref uint textures);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenTexturesProc2(uint n, [In, Out] uint[] textures);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsTextureProc(uint texture);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawRangeElementsProc(uint mode, uint start, uint end, uint count, uint type, IntPtr indices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawRangeElementsProc1(uint mode, uint start, uint end, uint count, uint type, void *indices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage3DProc(uint target, int level, int internalformat, uint width, uint height, uint depth, int border, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage3DProc1(uint target, int level, int internalformat, uint width, uint height, uint depth, int border, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexSubImage3DProc(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint type, IntPtr pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexSubImage3DProc1(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint type, void *pixels);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CopyTexSubImage3DProc(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, uint width, uint height);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ActiveTextureProc(uint texture);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SampleCoverageProc(float value, bool invert);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexImage3DProc(uint target, int level, uint internalformat, uint width, uint height, uint depth, int border, uint imageSize, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexImage3DProc1(uint target, int level, uint internalformat, uint width, uint height, uint depth, int border, uint imageSize, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexImage2DProc(uint target, int level, uint internalformat, uint width, uint height, int border, uint imageSize, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexImage2DProc1(uint target, int level, uint internalformat, uint width, uint height, int border, uint imageSize, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexImage1DProc(uint target, int level, uint internalformat, uint width, int border, uint imageSize, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexImage1DProc1(uint target, int level, uint internalformat, uint width, int border, uint imageSize, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexSubImage3DProc(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint imageSize, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexSubImage3DProc1(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint imageSize, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexSubImage2DProc(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint imageSize, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexSubImage2DProc1(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint imageSize, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexSubImage1DProc(uint target, int level, int xoffset, uint width, uint format, uint imageSize, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompressedTexSubImage1DProc1(uint target, int level, int xoffset, uint width, uint format, uint imageSize, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetCompressedTexImageProc(uint target, int level, IntPtr img);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetCompressedTexImageProc1(uint target, int level, void *img);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BlendFuncSeparateProc(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawArraysProc(uint mode, [In] int *first, [In] uint *count, uint drawcount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawArraysProc1(uint mode, ref int first, [In] uint *count, uint drawcount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawArraysProc2(uint mode, [In] int[] first, [In] uint *count, uint drawcount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsProc(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsProc1(uint mode, [In] uint *count, uint type, void *indices, uint drawcount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterfProc(uint pname, float param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterfvProc(uint pname, [In] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterfvProc1(uint pname, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterfvProc2(uint pname, [In] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameteriProc(uint pname, int param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterivProc(uint pname, [In] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterivProc1(uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PointParameterivProc2(uint pname, [In] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BlendColorProc(float red, float green, float blue, float alpha);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BlendEquationProc(uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenQueriesProc(uint n, [In, Out] uint *ids);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenQueriesProc1(uint n, ref uint ids);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenQueriesProc2(uint n, [In, Out] uint[] ids);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteQueriesProc(uint n, [In] uint *ids);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteQueriesProc1(uint n, ref uint ids);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteQueriesProc2(uint n, [In] uint[] ids);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsQueryProc(uint id);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BeginQueryProc(uint target, uint id);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void EndQueryProc(uint target);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryivProc(uint target, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryivProc2(uint target, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectivProc(uint id, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectivProc1(uint id, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectivProc2(uint id, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectuivProc(uint id, uint pname, [In, Out] uint *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectuivProc1(uint id, uint pname, ref uint parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectuivProc2(uint id, uint pname, [In, Out] uint[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindBufferProc(uint target, uint buffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteBuffersProc(uint n, [In] uint *buffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteBuffersProc1(uint n, ref uint buffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteBuffersProc2(uint n, [In] uint[] buffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenBuffersProc(uint n, [In, Out] uint *buffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenBuffersProc1(uint n, ref uint buffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenBuffersProc2(uint n, [In, Out] uint[] buffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsBufferProc(uint buffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BufferDataProc(uint target, IntPtr size, IntPtr data, uint usage);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BufferDataProc1(uint target, IntPtr size, void *data, uint usage);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BufferSubDataProc(uint target, IntPtr offset, IntPtr size, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BufferSubDataProc1(uint target, IntPtr offset, IntPtr size, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferSubDataProc(uint target, IntPtr offset, IntPtr size, IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferSubDataProc1(uint target, IntPtr offset, IntPtr size, void *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate IntPtr MapBufferProc(uint target, uint access);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool UnmapBufferProc(uint target);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferParameterivProc(uint target, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferParameterivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferParameterivProc2(uint target, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferPointervProc(uint target, uint pname, ref IntPtr parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferPointervProc1(uint target, uint pname, void **parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BlendEquationSeparateProc(uint modeRGB, uint modeAlpha);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawBuffersProc(uint n, [In] uint *bufs);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawBuffersProc1(uint n, ref uint bufs);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawBuffersProc2(uint n, [In] uint[] bufs);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void StencilOpSeparateProc(uint face, uint sfail, uint dpfail, uint dppass);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void StencilFuncSeparateProc(uint face, uint func, int reference, uint mask);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void StencilMaskSeparateProc(uint face, uint mask);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void AttachShaderProc(uint program, uint shader);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindAttribLocationProc(uint program, uint index, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindAttribLocationProc1(uint program, uint index, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindAttribLocationProc2(uint program, uint index, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CompileShaderProc(uint shader);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate uint CreateShaderProc(uint type);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteProgramProc(uint program);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteShaderProc(uint shader);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DetachShaderProc(uint program, uint shader);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DisableVertexAttribArrayProc(uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void EnableVertexAttribArrayProc(uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc1(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc2(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc3(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc4(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc5(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc6(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc7(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc8(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc9(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc10(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc11(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc12(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc13(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc14(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc15(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc16(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc17(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc18(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc19(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc20(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc21(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc22(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc23(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc24(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc25(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveAttribProc26(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc1(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc2(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc3(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc4(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc5(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc6(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc7(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc8(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc9(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc10(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc11(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc12(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc13(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc14(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc15(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc16(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc17(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc18(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc19(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc20(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc21(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc22(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc23(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc24(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc25(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformProc26(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetAttachedShadersProc(uint program, uint maxCount, [In, Out] uint *count, [In, Out] uint *shaders);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetAttachedShadersProc1(uint program, uint maxCount, [In, Out] uint *count, ref uint shaders);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetAttachedShadersProc2(uint program, uint maxCount, [In, Out] uint *count, [In, Out] uint[] shaders);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetAttribLocationProc(uint program, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetAttribLocationProc1(uint program, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetAttribLocationProc2(uint program, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetProgramivProc(uint program, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetProgramivProc1(uint program, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetProgramivProc2(uint program, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetProgramInfoLogProc(uint program, uint bufSize, [In, Out] uint *length, [In, Out] byte *infoLog);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetProgramInfoLogProc1(uint program, uint bufSize, [In, Out] uint *length, ref byte infoLog);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetProgramInfoLogProc2(uint program, uint bufSize, [In, Out] uint *length, [In, Out] byte[] infoLog);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderivProc(uint shader, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderivProc1(uint shader, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderivProc2(uint shader, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderInfoLogProc(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte *infoLog);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderInfoLogProc1(uint shader, uint bufSize, [In, Out] uint *length, ref byte infoLog);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderInfoLogProc2(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte[] infoLog);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderSourceProc(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte *source);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderSourceProc1(uint shader, uint bufSize, [In, Out] uint *length, ref byte source);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetShaderSourceProc2(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte[] source);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetUniformLocationProc(uint program, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetUniformLocationProc1(uint program, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetUniformLocationProc2(uint program, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformfvProc(uint program, int location, [In, Out] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformfvProc1(uint program, int location, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformfvProc2(uint program, int location, [In, Out] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformivProc(uint program, int location, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformivProc1(uint program, int location, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformivProc2(uint program, int location, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribdvProc(uint index, uint pname, [In, Out] double *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribdvProc1(uint index, uint pname, ref double parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribdvProc2(uint index, uint pname, [In, Out] double[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribfvProc(uint index, uint pname, [In, Out] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribfvProc1(uint index, uint pname, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribfvProc2(uint index, uint pname, [In, Out] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribivProc(uint index, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribivProc1(uint index, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribivProc2(uint index, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribPointervProc(uint index, uint pname, ref IntPtr pointer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribPointervProc1(uint index, uint pname, void **pointer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsProgramProc(uint program);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsShaderProc(uint shader);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void LinkProgramProc(uint program);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc(uint shader, uint count, IntPtr str, [In] int *length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc1(uint shader, uint count, IntPtr str, ref int length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc2(uint shader, uint count, IntPtr str, [In] int[] length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc3(uint shader, uint count, void *str, [In] int *length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc4(uint shader, uint count, void *str, ref int length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc5(uint shader, uint count, void *str, [In] int[] length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc6(uint shader, uint count, [In] IntPtr[] str, [In] int *length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc7(uint shader, uint count, [In] IntPtr[] str, ref int length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ShaderSourceProc8(uint shader, uint count, [In] IntPtr[] str, [In] int[] length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UseProgramProc(uint program);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1fProc(int location, float v0);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2fProc(int location, float v0, float v1);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3fProc(int location, float v0, float v1, float v2);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4fProc(int location, float v0, float v1, float v2, float v3);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1iProc(int location, int v0);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2iProc(int location, int v0, int v1);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3iProc(int location, int v0, int v1, int v2);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4iProc(int location, int v0, int v1, int v2, int v3);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1fvProc(int location, uint count, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1fvProc1(int location, uint count, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1fvProc2(int location, uint count, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2fvProc(int location, uint count, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2fvProc1(int location, uint count, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2fvProc2(int location, uint count, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3fvProc(int location, uint count, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3fvProc1(int location, uint count, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3fvProc2(int location, uint count, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4fvProc(int location, uint count, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4fvProc1(int location, uint count, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4fvProc2(int location, uint count, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1ivProc(int location, uint count, [In] int *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1ivProc1(int location, uint count, ref int value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1ivProc2(int location, uint count, [In] int[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2ivProc(int location, uint count, [In] int *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2ivProc1(int location, uint count, ref int value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2ivProc2(int location, uint count, [In] int[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3ivProc(int location, uint count, [In] int *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3ivProc1(int location, uint count, ref int value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3ivProc2(int location, uint count, [In] int[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4ivProc(int location, uint count, [In] int *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4ivProc1(int location, uint count, ref int value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4ivProc2(int location, uint count, [In] int[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ValidateProgramProc(uint program);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1dProc(uint index, double x);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1dvProc(uint index, [In] double *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1dvProc1(uint index, ref double v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1dvProc2(uint index, [In] double[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1fProc(uint index, float x);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1fvProc(uint index, [In] float *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1fvProc1(uint index, ref float v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1fvProc2(uint index, [In] float[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1sProc(uint index, short x);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1svProc(uint index, [In] short *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1svProc1(uint index, ref short v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib1svProc2(uint index, [In] short[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2dProc(uint index, double x, double y);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2dvProc(uint index, [In] double *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2dvProc1(uint index, ref double v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2dvProc2(uint index, [In] double[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2fProc(uint index, float x, float y);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2fvProc(uint index, [In] float *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2fvProc1(uint index, ref float v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2fvProc2(uint index, [In] float[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2sProc(uint index, short x, short y);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2svProc(uint index, [In] short *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2svProc1(uint index, ref short v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib2svProc2(uint index, [In] short[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3dProc(uint index, double x, double y, double z);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3dvProc(uint index, [In] double *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3dvProc1(uint index, ref double v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3dvProc2(uint index, [In] double[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3fProc(uint index, float x, float y, float z);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3fvProc(uint index, [In] float *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3fvProc1(uint index, ref float v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3fvProc2(uint index, [In] float[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3sProc(uint index, short x, short y, short z);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3svProc(uint index, [In] short *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3svProc1(uint index, ref short v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib3svProc2(uint index, [In] short[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NbvProc(uint index, [In] sbyte *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NbvProc1(uint index, ref sbyte v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NbvProc2(uint index, [In] byte[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NivProc(uint index, [In] int *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NivProc1(uint index, ref int v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NivProc2(uint index, [In] int[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NsvProc(uint index, [In] short *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NsvProc1(uint index, ref short v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NsvProc2(uint index, [In] short[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NubProc(uint index, byte x, byte y, byte z, byte w);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NubvProc(uint index, [In] byte *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NubvProc1(uint index, ref byte v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NubvProc2(uint index, [In] byte[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NuivProc(uint index, [In] uint *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NuivProc1(uint index, ref uint v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NuivProc2(uint index, [In] uint[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NusvProc(uint index, [In] ushort *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NusvProc1(uint index, ref ushort v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4NusvProc2(uint index, [In] ushort[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4bvProc(uint index, [In] sbyte *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4bvProc1(uint index, ref sbyte v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4bvProc2(uint index, [In] byte[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4dProc(uint index, double x, double y, double z, double w);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4dvProc(uint index, [In] double *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4dvProc1(uint index, ref double v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4dvProc2(uint index, [In] double[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4fProc(uint index, float x, float y, float z, float w);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4fvProc(uint index, [In] float *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4fvProc1(uint index, ref float v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4fvProc2(uint index, [In] float[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4ivProc(uint index, [In] int *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4ivProc1(uint index, ref int v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4ivProc2(uint index, [In] int[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4sProc(uint index, short x, short y, short z, short w);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4svProc(uint index, [In] short *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4svProc1(uint index, ref short v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4svProc2(uint index, [In] short[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4ubvProc(uint index, [In] byte *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4ubvProc1(uint index, ref byte v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4ubvProc2(uint index, [In] byte[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4uivProc(uint index, [In] uint *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4uivProc1(uint index, ref uint v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4uivProc2(uint index, [In] uint[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4usvProc(uint index, [In] ushort *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4usvProc1(uint index, ref ushort v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttrib4usvProc2(uint index, [In] ushort[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribPointerProc(uint index, int size, uint type, bool normalized, uint stride, IntPtr pointer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribPointerProc1(uint index, int size, uint type, bool normalized, uint stride, void *pointer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2x3fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2x3fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2x3fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3x2fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3x2fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3x2fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2x4fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2x4fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix2x4fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4x2fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4x2fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4x2fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3x4fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3x4fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix3x4fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4x3fvProc(int location, uint count, bool transpose, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4x3fvProc1(int location, uint count, bool transpose, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformMatrix4x3fvProc2(int location, uint count, bool transpose, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ColorMaskiProc(uint index, bool r, bool g, bool b, bool a);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBooleani_vProc(uint target, uint index, [In, Out] bool *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBooleani_vProc1(uint target, uint index, ref bool data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBooleani_vProc2(uint target, uint index, [In, Out] bool[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void EnableiProc(uint target, uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DisableiProc(uint target, uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsEnablediProc(uint target, uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BeginTransformFeedbackProc(uint primitiveMode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TransformFeedbackVaryingsProc(uint program, uint count, IntPtr varyings, uint bufferMode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TransformFeedbackVaryingsProc1(uint program, uint count, void *varyings, uint bufferMode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TransformFeedbackVaryingsProc2(uint program, uint count, [In] IntPtr[] varyings, uint bufferMode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint *type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc1(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint *type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc2(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint *type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc3(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, ref uint type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc4(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, ref uint type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc5(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, ref uint type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc6(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint[] type, [In, Out] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc7(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint[] type, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTransformFeedbackVaryingProc8(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint[] type, [In, Out] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClampColorProc(uint target, uint clamp);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BeginConditionalRenderProc(uint id, uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribIPointerProc(uint index, int size, uint type, uint stride, IntPtr pointer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribIPointerProc1(uint index, int size, uint type, uint stride, void *pointer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribIivProc(uint index, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribIivProc1(uint index, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribIivProc2(uint index, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribIuivProc(uint index, uint pname, [In, Out] uint *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribIuivProc1(uint index, uint pname, ref uint parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetVertexAttribIuivProc2(uint index, uint pname, [In, Out] uint[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1iProc(uint index, int x);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2iProc(uint index, int x, int y);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3iProc(uint index, int x, int y, int z);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4iProc(uint index, int x, int y, int z, int w);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1uiProc(uint index, uint x);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2uiProc(uint index, uint x, uint y);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3uiProc(uint index, uint x, uint y, uint z);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4uiProc(uint index, uint x, uint y, uint z, uint w);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1ivProc(uint index, [In] int *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1ivProc1(uint index, ref int v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1ivProc2(uint index, [In] int[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2ivProc(uint index, [In] int *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2ivProc1(uint index, ref int v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2ivProc2(uint index, [In] int[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3ivProc(uint index, [In] int *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3ivProc1(uint index, ref int v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3ivProc2(uint index, [In] int[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4ivProc(uint index, [In] int *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4ivProc1(uint index, ref int v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4ivProc2(uint index, [In] int[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1uivProc(uint index, [In] uint *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1uivProc1(uint index, ref uint v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI1uivProc2(uint index, [In] uint[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2uivProc(uint index, [In] uint *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2uivProc1(uint index, ref uint v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI2uivProc2(uint index, [In] uint[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3uivProc(uint index, [In] uint *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3uivProc1(uint index, ref uint v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI3uivProc2(uint index, [In] uint[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4uivProc(uint index, [In] uint *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4uivProc1(uint index, ref uint v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4uivProc2(uint index, [In] uint[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4bvProc(uint index, [In] sbyte *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4bvProc1(uint index, ref sbyte v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4bvProc2(uint index, [In] byte[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4svProc(uint index, [In] short *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4svProc1(uint index, ref short v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4svProc2(uint index, [In] short[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4ubvProc(uint index, [In] byte *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4ubvProc1(uint index, ref byte v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4ubvProc2(uint index, [In] byte[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4usvProc(uint index, [In] ushort *v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4usvProc1(uint index, ref ushort v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribI4usvProc2(uint index, [In] ushort[] v);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformuivProc(uint program, int location, [In, Out] uint *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformuivProc1(uint program, int location, ref uint parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformuivProc2(uint program, int location, [In, Out] uint[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFragDataLocationProc(uint program, uint color, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFragDataLocationProc1(uint program, uint color, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFragDataLocationProc2(uint program, uint color, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetFragDataLocationProc(uint program, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetFragDataLocationProc1(uint program, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetFragDataLocationProc2(uint program, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1uiProc(int location, uint v0);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2uiProc(int location, uint v0, uint v1);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3uiProc(int location, uint v0, uint v1, uint v2);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4uiProc(int location, uint v0, uint v1, uint v2, uint v3);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1uivProc(int location, uint count, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1uivProc1(int location, uint count, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform1uivProc2(int location, uint count, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2uivProc(int location, uint count, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2uivProc1(int location, uint count, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform2uivProc2(int location, uint count, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3uivProc(int location, uint count, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3uivProc1(int location, uint count, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform3uivProc2(int location, uint count, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4uivProc(int location, uint count, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4uivProc1(int location, uint count, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void Uniform4uivProc2(int location, uint count, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterIivProc(uint target, uint pname, [In] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterIivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterIivProc2(uint target, uint pname, [In] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterIuivProc(uint target, uint pname, [In] uint *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterIuivProc1(uint target, uint pname, ref uint parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexParameterIuivProc2(uint target, uint pname, [In] uint[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterIivProc(uint target, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterIivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterIivProc2(uint target, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterIuivProc(uint target, uint pname, [In, Out] uint *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterIuivProc1(uint target, uint pname, ref uint parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetTexParameterIuivProc2(uint target, uint pname, [In, Out] uint[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferivProc(uint buffer, int drawbuffer, [In] int *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferivProc1(uint buffer, int drawbuffer, ref int value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferivProc2(uint buffer, int drawbuffer, [In] int[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferuivProc(uint buffer, int drawbuffer, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferuivProc1(uint buffer, int drawbuffer, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferuivProc2(uint buffer, int drawbuffer, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferfvProc(uint buffer, int drawbuffer, [In] float *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferfvProc1(uint buffer, int drawbuffer, ref float value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferfvProc2(uint buffer, int drawbuffer, [In] float[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ClearBufferfiProc(uint buffer, int drawbuffer, float depth, int stencil);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate IntPtr GetStringiProc(uint name, uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsRenderbufferProc(uint renderbuffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindRenderbufferProc(uint target, uint renderbuffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteRenderbuffersProc(uint n, [In] uint *renderbuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteRenderbuffersProc1(uint n, ref uint renderbuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteRenderbuffersProc2(uint n, [In] uint[] renderbuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenRenderbuffersProc(uint n, [In, Out] uint *renderbuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenRenderbuffersProc1(uint n, ref uint renderbuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenRenderbuffersProc2(uint n, [In, Out] uint[] renderbuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void RenderbufferStorageProc(uint target, uint internalformat, uint width, uint height);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetRenderbufferParameterivProc(uint target, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetRenderbufferParameterivProc1(uint target, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetRenderbufferParameterivProc2(uint target, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsFramebufferProc(uint framebuffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFramebufferProc(uint target, uint framebuffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteFramebuffersProc(uint n, [In] uint *framebuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteFramebuffersProc1(uint n, ref uint framebuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteFramebuffersProc2(uint n, [In] uint[] framebuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenFramebuffersProc(uint n, [In, Out] uint *framebuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenFramebuffersProc1(uint n, ref uint framebuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenFramebuffersProc2(uint n, [In, Out] uint[] framebuffers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate uint CheckFramebufferStatusProc(uint target);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FramebufferTexture1DProc(uint target, uint attachment, uint textarget, uint texture, int level);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FramebufferTexture2DProc(uint target, uint attachment, uint textarget, uint texture, int level);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FramebufferTexture3DProc(uint target, uint attachment, uint textarget, uint texture, int level, int zoffset);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FramebufferRenderbufferProc(uint target, uint attachment, uint renderbuffertarget, uint renderbuffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetFramebufferAttachmentParameterivProc(uint target, uint attachment, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetFramebufferAttachmentParameterivProc1(uint target, uint attachment, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetFramebufferAttachmentParameterivProc2(uint target, uint attachment, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenerateMipmapProc(uint target);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BlitFramebufferProc(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void RenderbufferStorageMultisampleProc(uint target, uint samples, uint internalformat, uint width, uint height);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FramebufferTextureLayerProc(uint target, uint attachment, uint texture, int level, int layer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate IntPtr MapBufferRangeProc(uint target, IntPtr offset, IntPtr length, uint access);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FlushMappedBufferRangeProc(uint target, IntPtr offset, IntPtr length);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindVertexArrayProc(uint array);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteVertexArraysProc(uint n, [In] uint *arrays);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteVertexArraysProc1(uint n, ref uint arrays);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteVertexArraysProc2(uint n, [In] uint[] arrays);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenVertexArraysProc(uint n, [In, Out] uint *arrays);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenVertexArraysProc1(uint n, ref uint arrays);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenVertexArraysProc2(uint n, [In, Out] uint[] arrays);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsVertexArrayProc(uint array);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawArraysInstancedProc(uint mode, int first, uint count, uint instancecount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsInstancedProc(uint mode, uint count, uint type, IntPtr indices, uint instancecount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsInstancedProc1(uint mode, uint count, uint type, void *indices, uint instancecount);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexBufferProc(uint target, uint internalformat, uint buffer);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void PrimitiveRestartIndexProc(uint index);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void CopyBufferSubDataProc(uint readTarget, uint writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc(uint program, uint uniformCount, IntPtr uniformNames, [In, Out] uint *uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc1(uint program, uint uniformCount, IntPtr uniformNames, ref uint uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc2(uint program, uint uniformCount, IntPtr uniformNames, [In, Out] uint[] uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc3(uint program, uint uniformCount, void *uniformNames, [In, Out] uint *uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc4(uint program, uint uniformCount, void *uniformNames, ref uint uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc5(uint program, uint uniformCount, void *uniformNames, [In, Out] uint[] uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc6(uint program, uint uniformCount, [In] IntPtr[] uniformNames, [In, Out] uint *uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc7(uint program, uint uniformCount, [In] IntPtr[] uniformNames, ref uint uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetUniformIndicesProc8(uint program, uint uniformCount, [In] IntPtr[] uniformNames, [In, Out] uint[] uniformIndices);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc(uint program, uint uniformCount, [In] uint *uniformIndices, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc1(uint program, uint uniformCount, [In] uint *uniformIndices, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc2(uint program, uint uniformCount, [In] uint *uniformIndices, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc3(uint program, uint uniformCount, ref uint uniformIndices, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc4(uint program, uint uniformCount, ref uint uniformIndices, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc5(uint program, uint uniformCount, ref uint uniformIndices, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc6(uint program, uint uniformCount, [In] uint[] uniformIndices, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc7(uint program, uint uniformCount, [In] uint[] uniformIndices, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformsivProc8(uint program, uint uniformCount, [In] uint[] uniformIndices, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformNameProc(uint program, uint uniformIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte *uniformName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformNameProc1(uint program, uint uniformIndex, uint bufSize, [In, Out] uint *length, ref byte uniformName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformNameProc2(uint program, uint uniformIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte[] uniformName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate uint GetUniformBlockIndexProc(uint program, [In] byte *uniformBlockName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate uint GetUniformBlockIndexProc1(uint program, ref byte uniformBlockName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate uint GetUniformBlockIndexProc2(uint program, [In] byte[] uniformBlockName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformBlockivProc(uint program, uint uniformBlockIndex, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformBlockivProc1(uint program, uint uniformBlockIndex, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformBlockivProc2(uint program, uint uniformBlockIndex, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformBlockNameProc(uint program, uint uniformBlockIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte *uniformBlockName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformBlockNameProc1(uint program, uint uniformBlockIndex, uint bufSize, [In, Out] uint *length, ref byte uniformBlockName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetActiveUniformBlockNameProc2(uint program, uint uniformBlockIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte[] uniformBlockName);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void UniformBlockBindingProc(uint program, uint uniformBlockIndex, uint uniformBlockBinding);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsBaseVertexProc(uint mode, uint count, uint type, IntPtr indices, int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsBaseVertexProc1(uint mode, uint count, uint type, void *indices, int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawRangeElementsBaseVertexProc(uint mode, uint start, uint end, uint count, uint type, IntPtr indices, int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawRangeElementsBaseVertexProc1(uint mode, uint start, uint end, uint count, uint type, void *indices, int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsInstancedBaseVertexProc(uint mode, uint count, uint type, IntPtr indices, uint instancecount, int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DrawElementsInstancedBaseVertexProc1(uint mode, uint count, uint type, void *indices, uint instancecount, int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsBaseVertexProc(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount, [In] int *basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsBaseVertexProc1(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount, ref int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsBaseVertexProc2(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount, [In] int[] basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsBaseVertexProc3(uint mode, [In] uint *count, uint type, void *indices, uint drawcount, [In] int *basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsBaseVertexProc4(uint mode, [In] uint *count, uint type, void *indices, uint drawcount, ref int basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void MultiDrawElementsBaseVertexProc5(uint mode, [In] uint *count, uint type, void *indices, uint drawcount, [In] int[] basevertex);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void ProvokingVertexProc(uint mode);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate IntPtr FenceSyncProc(uint condition, uint flags);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsSyncProc(IntPtr sync);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteSyncProc(IntPtr sync);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate uint ClientWaitSyncProc(IntPtr sync, uint flags, ulong timeout);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void WaitSyncProc(IntPtr sync, uint flags, ulong timeout);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetInteger64vProc(uint pname, [In, Out] long *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetInteger64vProc1(uint pname, ref long data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetInteger64vProc2(uint pname, [In, Out] long[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSyncivProc(IntPtr sync, uint pname, uint count, [In, Out] uint *length, [In, Out] int *values);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSyncivProc1(IntPtr sync, uint pname, uint count, [In, Out] uint *length, ref int values);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSyncivProc2(IntPtr sync, uint pname, uint count, [In, Out] uint *length, [In, Out] int[] values);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetInteger64i_vProc(uint target, uint index, [In, Out] long *data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetInteger64i_vProc1(uint target, uint index, ref long data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetInteger64i_vProc2(uint target, uint index, [In, Out] long[] data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferParameteri64vProc(uint target, uint pname, [In, Out] long *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferParameteri64vProc1(uint target, uint pname, ref long parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetBufferParameteri64vProc2(uint target, uint pname, [In, Out] long[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void FramebufferTextureProc(uint target, uint attachment, uint texture, int level);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage2DMultisampleProc(uint target, uint samples, uint internalformat, uint width, uint height, bool fixedsamplelocations);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void TexImage3DMultisampleProc(uint target, uint samples, uint internalformat, uint width, uint height, uint depth, bool fixedsamplelocations);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetMultisamplefvProc(uint pname, uint index, [In, Out] float *val);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetMultisamplefvProc1(uint pname, uint index, ref float val);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetMultisamplefvProc2(uint pname, uint index, [In, Out] float[] val);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SampleMaskiProc(uint maskNumber, uint mask);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFragDataLocationIndexedProc(uint program, uint colorNumber, uint index, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFragDataLocationIndexedProc1(uint program, uint colorNumber, uint index, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindFragDataLocationIndexedProc2(uint program, uint colorNumber, uint index, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetFragDataIndexProc(uint program, [In] byte *name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetFragDataIndexProc1(uint program, ref byte name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate int GetFragDataIndexProc2(uint program, [In] byte[] name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenSamplersProc(uint count, [In, Out] uint *samplers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenSamplersProc1(uint count, ref uint samplers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GenSamplersProc2(uint count, [In, Out] uint[] samplers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteSamplersProc(uint count, [In] uint *samplers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteSamplersProc1(uint count, ref uint samplers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void DeleteSamplersProc2(uint count, [In] uint[] samplers);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate bool IsSamplerProc(uint sampler);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void BindSamplerProc(uint unit, uint sampler);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameteriProc(uint sampler, uint pname, int param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterivProc(uint sampler, uint pname, [In] int *param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterivProc1(uint sampler, uint pname, ref int param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterivProc2(uint sampler, uint pname, [In] int[] param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterfProc(uint sampler, uint pname, float param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterfvProc(uint sampler, uint pname, [In] float *param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterfvProc1(uint sampler, uint pname, ref float param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterfvProc2(uint sampler, uint pname, [In] float[] param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterIivProc(uint sampler, uint pname, [In] int *param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterIivProc1(uint sampler, uint pname, ref int param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterIivProc2(uint sampler, uint pname, [In] int[] param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterIuivProc(uint sampler, uint pname, [In] uint *param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterIuivProc1(uint sampler, uint pname, ref uint param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void SamplerParameterIuivProc2(uint sampler, uint pname, [In] uint[] param);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterivProc(uint sampler, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterivProc1(uint sampler, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterivProc2(uint sampler, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterIivProc(uint sampler, uint pname, [In, Out] int *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterIivProc1(uint sampler, uint pname, ref int parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterIivProc2(uint sampler, uint pname, [In, Out] int[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterfvProc(uint sampler, uint pname, [In, Out] float *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterfvProc1(uint sampler, uint pname, ref float parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterfvProc2(uint sampler, uint pname, [In, Out] float[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterIuivProc(uint sampler, uint pname, [In, Out] uint *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterIuivProc1(uint sampler, uint pname, ref uint parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetSamplerParameterIuivProc2(uint sampler, uint pname, [In, Out] uint[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void QueryCounterProc(uint id, uint target);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjecti64vProc(uint id, uint pname, [In, Out] long *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjecti64vProc1(uint id, uint pname, ref long parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjecti64vProc2(uint id, uint pname, [In, Out] long[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectui64vProc(uint id, uint pname, [In, Out] ulong *parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectui64vProc1(uint id, uint pname, ref ulong parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void GetQueryObjectui64vProc2(uint id, uint pname, [In, Out] ulong[] parameters);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribDivisorProc(uint index, uint divisor);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP1uiProc(uint index, uint type, bool normalized, uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP1uivProc(uint index, uint type, bool normalized, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP1uivProc1(uint index, uint type, bool normalized, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP1uivProc2(uint index, uint type, bool normalized, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP2uiProc(uint index, uint type, bool normalized, uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP2uivProc(uint index, uint type, bool normalized, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP2uivProc1(uint index, uint type, bool normalized, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP2uivProc2(uint index, uint type, bool normalized, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP3uiProc(uint index, uint type, bool normalized, uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP3uivProc(uint index, uint type, bool normalized, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP3uivProc1(uint index, uint type, bool normalized, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP3uivProc2(uint index, uint type, bool normalized, [In] uint[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP4uiProc(uint index, uint type, bool normalized, uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP4uivProc(uint index, uint type, bool normalized, [In] uint *value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP4uivProc1(uint index, uint type, bool normalized, ref uint value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity]
private delegate void VertexAttribP4uivProc2(uint index, uint type, bool normalized, [In] uint[] value);
}
}
// ReSharper disable UnusedMember.Global
// ReSharper disable IdentifierTypo
// ReSharper disable InconsistentNaming
namespace OpenGL
{
public static partial class GL
{
public const uint DEPTH_BUFFER_BIT = 0x00000100;
public const uint STENCIL_BUFFER_BIT = 0x00000400;
public const uint COLOR_BUFFER_BIT = 0x00004000;
public const uint FALSE = 0;
public const uint TRUE = 1;
public const uint POINTS = 0x0000;
public const uint LINES = 0x0001;
public const uint LINE_LOOP = 0x0002;
public const uint LINE_STRIP = 0x0003;
public const uint TRIANGLES = 0x0004;
public const uint TRIANGLE_STRIP = 0x0005;
public const uint TRIANGLE_FAN = 0x0006;
public const uint NEVER = 0x0200;
public const uint LESS = 0x0201;
public const uint EQUAL = 0x0202;
public const uint LEQUAL = 0x0203;
public const uint GREATER = 0x0204;
public const uint NOTEQUAL = 0x0205;
public const uint GEQUAL = 0x0206;
public const uint ALWAYS = 0x0207;
public const uint ZERO = 0;
public const uint ONE = 1;
public const uint SRC_COLOR = 0x0300;
public const uint ONE_MINUS_SRC_COLOR = 0x0301;
public const uint SRC_ALPHA = 0x0302;
public const uint ONE_MINUS_SRC_ALPHA = 0x0303;
public const uint DST_ALPHA = 0x0304;
public const uint ONE_MINUS_DST_ALPHA = 0x0305;
public const uint DST_COLOR = 0x0306;
public const uint ONE_MINUS_DST_COLOR = 0x0307;
public const uint SRC_ALPHA_SATURATE = 0x0308;
public const uint NONE = 0;
public const uint FRONT_LEFT = 0x0400;
public const uint FRONT_RIGHT = 0x0401;
public const uint BACK_LEFT = 0x0402;
public const uint BACK_RIGHT = 0x0403;
public const uint FRONT = 0x0404;
public const uint BACK = 0x0405;
public const uint LEFT = 0x0406;
public const uint RIGHT = 0x0407;
public const uint FRONT_AND_BACK = 0x0408;
public const uint NO_ERROR = 0;
public const uint INVALID_ENUM = 0x0500;
public const uint INVALID_VALUE = 0x0501;
public const uint INVALID_OPERATION = 0x0502;
public const uint OUT_OF_MEMORY = 0x0505;
public const uint CW = 0x0900;
public const uint CCW = 0x0901;
public const uint POINT_SIZE = 0x0B11;
public const uint POINT_SIZE_RANGE = 0x0B12;
public const uint POINT_SIZE_GRANULARITY = 0x0B13;
public const uint LINE_SMOOTH = 0x0B20;
public const uint LINE_WIDTH = 0x0B21;
public const uint LINE_WIDTH_RANGE = 0x0B22;
public const uint LINE_WIDTH_GRANULARITY = 0x0B23;
public const uint POLYGON_MODE = 0x0B40;
public const uint POLYGON_SMOOTH = 0x0B41;
public const uint CULL_FACE = 0x0B44;
public const uint CULL_FACE_MODE = 0x0B45;
public const uint FRONT_FACE = 0x0B46;
public const uint DEPTH_RANGE = 0x0B70;
public const uint DEPTH_TEST = 0x0B71;
public const uint DEPTH_WRITEMASK = 0x0B72;
public const uint DEPTH_CLEAR_VALUE = 0x0B73;
public const uint DEPTH_FUNC = 0x0B74;
public const uint STENCIL_TEST = 0x0B90;
public const uint STENCIL_CLEAR_VALUE = 0x0B91;
public const uint STENCIL_FUNC = 0x0B92;
public const uint STENCIL_VALUE_MASK = 0x0B93;
public const uint STENCIL_FAIL = 0x0B94;
public const uint STENCIL_PASS_DEPTH_FAIL = 0x0B95;
public const uint STENCIL_PASS_DEPTH_PASS = 0x0B96;
public const uint STENCIL_REF = 0x0B97;
public const uint STENCIL_WRITEMASK = 0x0B98;
public const uint VIEWPORT = 0x0BA2;
public const uint DITHER = 0x0BD0;
public const uint BLEND_DST = 0x0BE0;
public const uint BLEND_SRC = 0x0BE1;
public const uint BLEND = 0x0BE2;
public const uint LOGIC_OP_MODE = 0x0BF0;
public const uint DRAW_BUFFER = 0x0C01;
public const uint READ_BUFFER = 0x0C02;
public const uint SCISSOR_BOX = 0x0C10;
public const uint SCISSOR_TEST = 0x0C11;
public const uint COLOR_CLEAR_VALUE = 0x0C22;
public const uint COLOR_WRITEMASK = 0x0C23;
public const uint DOUBLEBUFFER = 0x0C32;
public const uint STEREO = 0x0C33;
public const uint LINE_SMOOTH_HINT = 0x0C52;
public const uint POLYGON_SMOOTH_HINT = 0x0C53;
public const uint UNPACK_SWAP_BYTES = 0x0CF0;
public const uint UNPACK_LSB_FIRST = 0x0CF1;
public const uint UNPACK_ROW_LENGTH = 0x0CF2;
public const uint UNPACK_SKIP_ROWS = 0x0CF3;
public const uint UNPACK_SKIP_PIXELS = 0x0CF4;
public const uint UNPACK_ALIGNMENT = 0x0CF5;
public const uint PACK_SWAP_BYTES = 0x0D00;
public const uint PACK_LSB_FIRST = 0x0D01;
public const uint PACK_ROW_LENGTH = 0x0D02;
public const uint PACK_SKIP_ROWS = 0x0D03;
public const uint PACK_SKIP_PIXELS = 0x0D04;
public const uint PACK_ALIGNMENT = 0x0D05;
public const uint MAX_TEXTURE_SIZE = 0x0D33;
public const uint MAX_VIEWPORT_DIMS = 0x0D3A;
public const uint SUBPIXEL_BITS = 0x0D50;
public const uint TEXTURE_1D = 0x0DE0;
public const uint TEXTURE_2D = 0x0DE1;
public const uint TEXTURE_WIDTH = 0x1000;
public const uint TEXTURE_HEIGHT = 0x1001;
public const uint TEXTURE_BORDER_COLOR = 0x1004;
public const uint DONT_CARE = 0x1100;
public const uint FASTEST = 0x1101;
public const uint NICEST = 0x1102;
public const uint BYTE = 0x1400;
public const uint UNSIGNED_BYTE = 0x1401;
public const uint SHORT = 0x1402;
public const uint UNSIGNED_SHORT = 0x1403;
public const uint INT = 0x1404;
public const uint UNSIGNED_INT = 0x1405;
public const uint FLOAT = 0x1406;
public const uint CLEAR = 0x1500;
public const uint AND = 0x1501;
public const uint AND_REVERSE = 0x1502;
public const uint COPY = 0x1503;
public const uint AND_INVERTED = 0x1504;
public const uint NOOP = 0x1505;
public const uint XOR = 0x1506;
public const uint OR = 0x1507;
public const uint NOR = 0x1508;
public const uint EQUIV = 0x1509;
public const uint INVERT = 0x150A;
public const uint OR_REVERSE = 0x150B;
public const uint COPY_INVERTED = 0x150C;
public const uint OR_INVERTED = 0x150D;
public const uint NAND = 0x150E;
public const uint SET = 0x150F;
public const uint TEXTURE = 0x1702;
public const uint COLOR = 0x1800;
public const uint DEPTH = 0x1801;
public const uint STENCIL = 0x1802;
public const uint STENCIL_INDEX = 0x1901;
public const uint DEPTH_COMPONENT = 0x1902;
public const uint RED = 0x1903;
public const uint GREEN = 0x1904;
public const uint BLUE = 0x1905;
public const uint ALPHA = 0x1906;
public const uint RGB = 0x1907;
public const uint RGBA = 0x1908;
public const uint POINT = 0x1B00;
public const uint LINE = 0x1B01;
public const uint FILL = 0x1B02;
public const uint KEEP = 0x1E00;
public const uint REPLACE = 0x1E01;
public const uint INCR = 0x1E02;
public const uint DECR = 0x1E03;
public const uint VENDOR = 0x1F00;
public const uint RENDERER = 0x1F01;
public const uint VERSION = 0x1F02;
public const uint EXTENSIONS = 0x1F03;
public const uint NEAREST = 0x2600;
public const uint LINEAR = 0x2601;
public const uint NEAREST_MIPMAP_NEAREST = 0x2700;
public const uint LINEAR_MIPMAP_NEAREST = 0x2701;
public const uint NEAREST_MIPMAP_LINEAR = 0x2702;
public const uint LINEAR_MIPMAP_LINEAR = 0x2703;
public const uint TEXTURE_MAG_FILTER = 0x2800;
public const uint TEXTURE_MIN_FILTER = 0x2801;
public const uint TEXTURE_WRAP_S = 0x2802;
public const uint TEXTURE_WRAP_T = 0x2803;
public const uint REPEAT = 0x2901;
public const uint COLOR_LOGIC_OP = 0x0BF2;
public const uint POLYGON_OFFSET_UNITS = 0x2A00;
public const uint POLYGON_OFFSET_POINT = 0x2A01;
public const uint POLYGON_OFFSET_LINE = 0x2A02;
public const uint POLYGON_OFFSET_FILL = 0x8037;
public const uint POLYGON_OFFSET_FACTOR = 0x8038;
public const uint TEXTURE_BINDING_1D = 0x8068;
public const uint TEXTURE_BINDING_2D = 0x8069;
public const uint TEXTURE_INTERNAL_FORMAT = 0x1003;
public const uint TEXTURE_RED_SIZE = 0x805C;
public const uint TEXTURE_GREEN_SIZE = 0x805D;
public const uint TEXTURE_BLUE_SIZE = 0x805E;
public const uint TEXTURE_ALPHA_SIZE = 0x805F;
public const uint DOUBLE = 0x140A;
public const uint PROXY_TEXTURE_1D = 0x8063;
public const uint PROXY_TEXTURE_2D = 0x8064;
public const uint R3_G3_B2 = 0x2A10;
public const uint RGB4 = 0x804F;
public const uint RGB5 = 0x8050;
public const uint RGB8 = 0x8051;
public const uint RGB10 = 0x8052;
public const uint RGB12 = 0x8053;
public const uint RGB16 = 0x8054;
public const uint RGBA2 = 0x8055;
public const uint RGBA4 = 0x8056;
public const uint RGB5_A1 = 0x8057;
public const uint RGBA8 = 0x8058;
public const uint RGB10_A2 = 0x8059;
public const uint RGBA12 = 0x805A;
public const uint RGBA16 = 0x805B;
public const uint UNSIGNED_BYTE_3_3_2 = 0x8032;
public const uint UNSIGNED_SHORT_4_4_4_4 = 0x8033;
public const uint UNSIGNED_SHORT_5_5_5_1 = 0x8034;
public const uint UNSIGNED_INT_8_8_8_8 = 0x8035;
public const uint UNSIGNED_INT_10_10_10_2 = 0x8036;
public const uint TEXTURE_BINDING_3D = 0x806A;
public const uint PACK_SKIP_IMAGES = 0x806B;
public const uint PACK_IMAGE_HEIGHT = 0x806C;
public const uint UNPACK_SKIP_IMAGES = 0x806D;
public const uint UNPACK_IMAGE_HEIGHT = 0x806E;
public const uint TEXTURE_3D = 0x806F;
public const uint PROXY_TEXTURE_3D = 0x8070;
public const uint TEXTURE_DEPTH = 0x8071;
public const uint TEXTURE_WRAP_R = 0x8072;
public const uint MAX_3D_TEXTURE_SIZE = 0x8073;
public const uint UNSIGNED_BYTE_2_3_3_REV = 0x8362;
public const uint UNSIGNED_SHORT_5_6_5 = 0x8363;
public const uint UNSIGNED_SHORT_5_6_5_REV = 0x8364;
public const uint UNSIGNED_SHORT_4_4_4_4_REV = 0x8365;
public const uint UNSIGNED_SHORT_1_5_5_5_REV = 0x8366;
public const uint UNSIGNED_INT_8_8_8_8_REV = 0x8367;
public const uint UNSIGNED_INT_2_10_10_10_REV = 0x8368;
public const uint BGR = 0x80E0;
public const uint BGRA = 0x80E1;
public const uint MAX_ELEMENTS_VERTICES = 0x80E8;
public const uint MAX_ELEMENTS_INDICES = 0x80E9;
public const uint CLAMP_TO_EDGE = 0x812F;
public const uint TEXTURE_MIN_LOD = 0x813A;
public const uint TEXTURE_MAX_LOD = 0x813B;
public const uint TEXTURE_BASE_LEVEL = 0x813C;
public const uint TEXTURE_MAX_LEVEL = 0x813D;
public const uint SMOOTH_POINT_SIZE_RANGE = 0x0B12;
public const uint SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
public const uint SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
public const uint SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
public const uint ALIASED_LINE_WIDTH_RANGE = 0x846E;
public const uint TEXTURE0 = 0x84C0;
public const uint TEXTURE1 = 0x84C1;
public const uint TEXTURE2 = 0x84C2;
public const uint TEXTURE3 = 0x84C3;
public const uint TEXTURE4 = 0x84C4;
public const uint TEXTURE5 = 0x84C5;
public const uint TEXTURE6 = 0x84C6;
public const uint TEXTURE7 = 0x84C7;
public const uint TEXTURE8 = 0x84C8;
public const uint TEXTURE9 = 0x84C9;
public const uint TEXTURE10 = 0x84CA;
public const uint TEXTURE11 = 0x84CB;
public const uint TEXTURE12 = 0x84CC;
public const uint TEXTURE13 = 0x84CD;
public const uint TEXTURE14 = 0x84CE;
public const uint TEXTURE15 = 0x84CF;
public const uint TEXTURE16 = 0x84D0;
public const uint TEXTURE17 = 0x84D1;
public const uint TEXTURE18 = 0x84D2;
public const uint TEXTURE19 = 0x84D3;
public const uint TEXTURE20 = 0x84D4;
public const uint TEXTURE21 = 0x84D5;
public const uint TEXTURE22 = 0x84D6;
public const uint TEXTURE23 = 0x84D7;
public const uint TEXTURE24 = 0x84D8;
public const uint TEXTURE25 = 0x84D9;
public const uint TEXTURE26 = 0x84DA;
public const uint TEXTURE27 = 0x84DB;
public const uint TEXTURE28 = 0x84DC;
public const uint TEXTURE29 = 0x84DD;
public const uint TEXTURE30 = 0x84DE;
public const uint TEXTURE31 = 0x84DF;
public const uint ACTIVE_TEXTURE = 0x84E0;
public const uint MULTISAMPLE = 0x809D;
public const uint SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
public const uint SAMPLE_ALPHA_TO_ONE = 0x809F;
public const uint SAMPLE_COVERAGE = 0x80A0;
public const uint SAMPLE_BUFFERS = 0x80A8;
public const uint SAMPLES = 0x80A9;
public const uint SAMPLE_COVERAGE_VALUE = 0x80AA;
public const uint SAMPLE_COVERAGE_INVERT = 0x80AB;
public const uint TEXTURE_CUBE_MAP = 0x8513;
public const uint TEXTURE_BINDING_CUBE_MAP = 0x8514;
public const uint TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
public const uint TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
public const uint TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
public const uint TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
public const uint TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
public const uint TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
public const uint PROXY_TEXTURE_CUBE_MAP = 0x851B;
public const uint MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
public const uint COMPRESSED_RGB = 0x84ED;
public const uint COMPRESSED_RGBA = 0x84EE;
public const uint TEXTURE_COMPRESSION_HINT = 0x84EF;
public const uint TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0;
public const uint TEXTURE_COMPRESSED = 0x86A1;
public const uint NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
public const uint COMPRESSED_TEXTURE_FORMATS = 0x86A3;
public const uint CLAMP_TO_BORDER = 0x812D;
public const uint BLEND_DST_RGB = 0x80C8;
public const uint BLEND_SRC_RGB = 0x80C9;
public const uint BLEND_DST_ALPHA = 0x80CA;
public const uint BLEND_SRC_ALPHA = 0x80CB;
public const uint POINT_FADE_THRESHOLD_SIZE = 0x8128;
public const uint DEPTH_COMPONENT16 = 0x81A5;
public const uint DEPTH_COMPONENT24 = 0x81A6;
public const uint DEPTH_COMPONENT32 = 0x81A7;
public const uint MIRRORED_REPEAT = 0x8370;
public const uint MAX_TEXTURE_LOD_BIAS = 0x84FD;
public const uint TEXTURE_LOD_BIAS = 0x8501;
public const uint INCR_WRAP = 0x8507;
public const uint DECR_WRAP = 0x8508;
public const uint TEXTURE_DEPTH_SIZE = 0x884A;
public const uint TEXTURE_COMPARE_MODE = 0x884C;
public const uint TEXTURE_COMPARE_FUNC = 0x884D;
public const uint BLEND_COLOR = 0x8005;
public const uint BLEND_EQUATION = 0x8009;
public const uint CONSTANT_COLOR = 0x8001;
public const uint ONE_MINUS_CONSTANT_COLOR = 0x8002;
public const uint CONSTANT_ALPHA = 0x8003;
public const uint ONE_MINUS_CONSTANT_ALPHA = 0x8004;
public const uint FUNC_ADD = 0x8006;
public const uint FUNC_REVERSE_SUBTRACT = 0x800B;
public const uint FUNC_SUBTRACT = 0x800A;
public const uint MIN = 0x8007;
public const uint MAX = 0x8008;
public const uint BUFFER_SIZE = 0x8764;
public const uint BUFFER_USAGE = 0x8765;
public const uint QUERY_COUNTER_BITS = 0x8864;
public const uint CURRENT_QUERY = 0x8865;
public const uint QUERY_RESULT = 0x8866;
public const uint QUERY_RESULT_AVAILABLE = 0x8867;
public const uint ARRAY_BUFFER = 0x8892;
public const uint ELEMENT_ARRAY_BUFFER = 0x8893;
public const uint ARRAY_BUFFER_BINDING = 0x8894;
public const uint ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
public const uint VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
public const uint READ_ONLY = 0x88B8;
public const uint WRITE_ONLY = 0x88B9;
public const uint READ_WRITE = 0x88BA;
public const uint BUFFER_ACCESS = 0x88BB;
public const uint BUFFER_MAPPED = 0x88BC;
public const uint BUFFER_MAP_POINTER = 0x88BD;
public const uint STREAM_DRAW = 0x88E0;
public const uint STREAM_READ = 0x88E1;
public const uint STREAM_COPY = 0x88E2;
public const uint STATIC_DRAW = 0x88E4;
public const uint STATIC_READ = 0x88E5;
public const uint STATIC_COPY = 0x88E6;
public const uint DYNAMIC_DRAW = 0x88E8;
public const uint DYNAMIC_READ = 0x88E9;
public const uint DYNAMIC_COPY = 0x88EA;
public const uint SAMPLES_PASSED = 0x8914;
public const uint SRC1_ALPHA = 0x8589;
public const uint BLEND_EQUATION_RGB = 0x8009;
public const uint VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
public const uint VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
public const uint VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
public const uint VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
public const uint CURRENT_VERTEX_ATTRIB = 0x8626;
public const uint VERTEX_PROGRAM_POINT_SIZE = 0x8642;
public const uint VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
public const uint STENCIL_BACK_FUNC = 0x8800;
public const uint STENCIL_BACK_FAIL = 0x8801;
public const uint STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
public const uint STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
public const uint MAX_DRAW_BUFFERS = 0x8824;
public const uint DRAW_BUFFER0 = 0x8825;
public const uint DRAW_BUFFER1 = 0x8826;
public const uint DRAW_BUFFER2 = 0x8827;
public const uint DRAW_BUFFER3 = 0x8828;
public const uint DRAW_BUFFER4 = 0x8829;
public const uint DRAW_BUFFER5 = 0x882A;
public const uint DRAW_BUFFER6 = 0x882B;
public const uint DRAW_BUFFER7 = 0x882C;
public const uint DRAW_BUFFER8 = 0x882D;
public const uint DRAW_BUFFER9 = 0x882E;
public const uint DRAW_BUFFER10 = 0x882F;
public const uint DRAW_BUFFER11 = 0x8830;
public const uint DRAW_BUFFER12 = 0x8831;
public const uint DRAW_BUFFER13 = 0x8832;
public const uint DRAW_BUFFER14 = 0x8833;
public const uint DRAW_BUFFER15 = 0x8834;
public const uint BLEND_EQUATION_ALPHA = 0x883D;
public const uint MAX_VERTEX_ATTRIBS = 0x8869;
public const uint VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
public const uint MAX_TEXTURE_IMAGE_UNITS = 0x8872;
public const uint FRAGMENT_SHADER = 0x8B30;
public const uint VERTEX_SHADER = 0x8B31;
public const uint MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
public const uint MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
public const uint MAX_VARYING_FLOATS = 0x8B4B;
public const uint MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
public const uint MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
public const uint SHADER_TYPE = 0x8B4F;
public const uint FLOAT_VEC2 = 0x8B50;
public const uint FLOAT_VEC3 = 0x8B51;
public const uint FLOAT_VEC4 = 0x8B52;
public const uint INT_VEC2 = 0x8B53;
public const uint INT_VEC3 = 0x8B54;
public const uint INT_VEC4 = 0x8B55;
public const uint BOOL = 0x8B56;
public const uint BOOL_VEC2 = 0x8B57;
public const uint BOOL_VEC3 = 0x8B58;
public const uint BOOL_VEC4 = 0x8B59;
public const uint FLOAT_MAT2 = 0x8B5A;
public const uint FLOAT_MAT3 = 0x8B5B;
public const uint FLOAT_MAT4 = 0x8B5C;
public const uint SAMPLER_1D = 0x8B5D;
public const uint SAMPLER_2D = 0x8B5E;
public const uint SAMPLER_3D = 0x8B5F;
public const uint SAMPLER_CUBE = 0x8B60;
public const uint SAMPLER_1D_SHADOW = 0x8B61;
public const uint SAMPLER_2D_SHADOW = 0x8B62;
public const uint DELETE_STATUS = 0x8B80;
public const uint COMPILE_STATUS = 0x8B81;
public const uint LINK_STATUS = 0x8B82;
public const uint VALIDATE_STATUS = 0x8B83;
public const uint INFO_LOG_LENGTH = 0x8B84;
public const uint ATTACHED_SHADERS = 0x8B85;
public const uint ACTIVE_UNIFORMS = 0x8B86;
public const uint ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87;
public const uint SHADER_SOURCE_LENGTH = 0x8B88;
public const uint ACTIVE_ATTRIBUTES = 0x8B89;
public const uint ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A;
public const uint FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
public const uint SHADING_LANGUAGE_VERSION = 0x8B8C;
public const uint CURRENT_PROGRAM = 0x8B8D;
public const uint POINT_SPRITE_COORD_ORIGIN = 0x8CA0;
public const uint LOWER_LEFT = 0x8CA1;
public const uint UPPER_LEFT = 0x8CA2;
public const uint STENCIL_BACK_REF = 0x8CA3;
public const uint STENCIL_BACK_VALUE_MASK = 0x8CA4;
public const uint STENCIL_BACK_WRITEMASK = 0x8CA5;
public const uint PIXEL_PACK_BUFFER = 0x88EB;
public const uint PIXEL_UNPACK_BUFFER = 0x88EC;
public const uint PIXEL_PACK_BUFFER_BINDING = 0x88ED;
public const uint PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
public const uint FLOAT_MAT2x3 = 0x8B65;
public const uint FLOAT_MAT2x4 = 0x8B66;
public const uint FLOAT_MAT3x2 = 0x8B67;
public const uint FLOAT_MAT3x4 = 0x8B68;
public const uint FLOAT_MAT4x2 = 0x8B69;
public const uint FLOAT_MAT4x3 = 0x8B6A;
public const uint SRGB = 0x8C40;
public const uint SRGB8 = 0x8C41;
public const uint SRGB_ALPHA = 0x8C42;
public const uint SRGB8_ALPHA8 = 0x8C43;
public const uint COMPRESSED_SRGB = 0x8C48;
public const uint COMPRESSED_SRGB_ALPHA = 0x8C49;
public const uint COMPARE_REF_TO_TEXTURE = 0x884E;
public const uint CLIP_DISTANCE0 = 0x3000;
public const uint CLIP_DISTANCE1 = 0x3001;
public const uint CLIP_DISTANCE2 = 0x3002;
public const uint CLIP_DISTANCE3 = 0x3003;
public const uint CLIP_DISTANCE4 = 0x3004;
public const uint CLIP_DISTANCE5 = 0x3005;
public const uint CLIP_DISTANCE6 = 0x3006;
public const uint CLIP_DISTANCE7 = 0x3007;
public const uint MAX_CLIP_DISTANCES = 0x0D32;
public const uint MAJOR_VERSION = 0x821B;
public const uint MINOR_VERSION = 0x821C;
public const uint NUM_EXTENSIONS = 0x821D;
public const uint CONTEXT_FLAGS = 0x821E;
public const uint COMPRESSED_RED = 0x8225;
public const uint COMPRESSED_RG = 0x8226;
public const uint CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001;
public const uint RGBA32F = 0x8814;
public const uint RGB32F = 0x8815;
public const uint RGBA16F = 0x881A;
public const uint RGB16F = 0x881B;
public const uint VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
public const uint MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
public const uint MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
public const uint MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
public const uint CLAMP_READ_COLOR = 0x891C;
public const uint FIXED_ONLY = 0x891D;
public const uint MAX_VARYING_COMPONENTS = 0x8B4B;
public const uint TEXTURE_1D_ARRAY = 0x8C18;
public const uint PROXY_TEXTURE_1D_ARRAY = 0x8C19;
public const uint TEXTURE_2D_ARRAY = 0x8C1A;
public const uint PROXY_TEXTURE_2D_ARRAY = 0x8C1B;
public const uint TEXTURE_BINDING_1D_ARRAY = 0x8C1C;
public const uint TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
public const uint R11F_G11F_B10F = 0x8C3A;
public const uint UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
public const uint RGB9_E5 = 0x8C3D;
public const uint UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
public const uint TEXTURE_SHARED_SIZE = 0x8C3F;
public const uint TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
public const uint TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
public const uint MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
public const uint TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
public const uint TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
public const uint TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
public const uint PRIMITIVES_GENERATED = 0x8C87;
public const uint TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
public const uint RASTERIZER_DISCARD = 0x8C89;
public const uint MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
public const uint MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
public const uint INTERLEAVED_ATTRIBS = 0x8C8C;
public const uint SEPARATE_ATTRIBS = 0x8C8D;
public const uint TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
public const uint TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
public const uint RGBA32UI = 0x8D70;
public const uint RGB32UI = 0x8D71;
public const uint RGBA16UI = 0x8D76;
public const uint RGB16UI = 0x8D77;
public const uint RGBA8UI = 0x8D7C;
public const uint RGB8UI = 0x8D7D;
public const uint RGBA32I = 0x8D82;
public const uint RGB32I = 0x8D83;
public const uint RGBA16I = 0x8D88;
public const uint RGB16I = 0x8D89;
public const uint RGBA8I = 0x8D8E;
public const uint RGB8I = 0x8D8F;
public const uint RED_INTEGER = 0x8D94;
public const uint GREEN_INTEGER = 0x8D95;
public const uint BLUE_INTEGER = 0x8D96;
public const uint RGB_INTEGER = 0x8D98;
public const uint RGBA_INTEGER = 0x8D99;
public const uint BGR_INTEGER = 0x8D9A;
public const uint BGRA_INTEGER = 0x8D9B;
public const uint SAMPLER_1D_ARRAY = 0x8DC0;
public const uint SAMPLER_2D_ARRAY = 0x8DC1;
public const uint SAMPLER_1D_ARRAY_SHADOW = 0x8DC3;
public const uint SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
public const uint SAMPLER_CUBE_SHADOW = 0x8DC5;
public const uint UNSIGNED_INT_VEC2 = 0x8DC6;
public const uint UNSIGNED_INT_VEC3 = 0x8DC7;
public const uint UNSIGNED_INT_VEC4 = 0x8DC8;
public const uint INT_SAMPLER_1D = 0x8DC9;
public const uint INT_SAMPLER_2D = 0x8DCA;
public const uint INT_SAMPLER_3D = 0x8DCB;
public const uint INT_SAMPLER_CUBE = 0x8DCC;
public const uint INT_SAMPLER_1D_ARRAY = 0x8DCE;
public const uint INT_SAMPLER_2D_ARRAY = 0x8DCF;
public const uint UNSIGNED_INT_SAMPLER_1D = 0x8DD1;
public const uint UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
public const uint UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
public const uint UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
public const uint UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6;
public const uint UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
public const uint QUERY_WAIT = 0x8E13;
public const uint QUERY_NO_WAIT = 0x8E14;
public const uint QUERY_BY_REGION_WAIT = 0x8E15;
public const uint QUERY_BY_REGION_NO_WAIT = 0x8E16;
public const uint BUFFER_ACCESS_FLAGS = 0x911F;
public const uint BUFFER_MAP_LENGTH = 0x9120;
public const uint BUFFER_MAP_OFFSET = 0x9121;
public const uint DEPTH_COMPONENT32F = 0x8CAC;
public const uint DEPTH32F_STENCIL8 = 0x8CAD;
public const uint FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
public const uint INVALID_FRAMEBUFFER_OPERATION = 0x0506;
public const uint FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
public const uint FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
public const uint FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
public const uint FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
public const uint FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
public const uint FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
public const uint FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
public const uint FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
public const uint FRAMEBUFFER_DEFAULT = 0x8218;
public const uint FRAMEBUFFER_UNDEFINED = 0x8219;
public const uint DEPTH_STENCIL_ATTACHMENT = 0x821A;
public const uint MAX_RENDERBUFFER_SIZE = 0x84E8;
public const uint DEPTH_STENCIL = 0x84F9;
public const uint UNSIGNED_INT_24_8 = 0x84FA;
public const uint DEPTH24_STENCIL8 = 0x88F0;
public const uint TEXTURE_STENCIL_SIZE = 0x88F1;
public const uint TEXTURE_RED_TYPE = 0x8C10;
public const uint TEXTURE_GREEN_TYPE = 0x8C11;
public const uint TEXTURE_BLUE_TYPE = 0x8C12;
public const uint TEXTURE_ALPHA_TYPE = 0x8C13;
public const uint TEXTURE_DEPTH_TYPE = 0x8C16;
public const uint UNSIGNED_NORMALIZED = 0x8C17;
public const uint FRAMEBUFFER_BINDING = 0x8CA6;
public const uint DRAW_FRAMEBUFFER_BINDING = 0x8CA6;
public const uint RENDERBUFFER_BINDING = 0x8CA7;
public const uint READ_FRAMEBUFFER = 0x8CA8;
public const uint DRAW_FRAMEBUFFER = 0x8CA9;
public const uint READ_FRAMEBUFFER_BINDING = 0x8CAA;
public const uint RENDERBUFFER_SAMPLES = 0x8CAB;
public const uint FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
public const uint FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
public const uint FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
public const uint FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
public const uint FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
public const uint FRAMEBUFFER_COMPLETE = 0x8CD5;
public const uint FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
public const uint FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
public const uint FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB;
public const uint FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC;
public const uint FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
public const uint MAX_COLOR_ATTACHMENTS = 0x8CDF;
public const uint COLOR_ATTACHMENT0 = 0x8CE0;
public const uint COLOR_ATTACHMENT1 = 0x8CE1;
public const uint COLOR_ATTACHMENT2 = 0x8CE2;
public const uint COLOR_ATTACHMENT3 = 0x8CE3;
public const uint COLOR_ATTACHMENT4 = 0x8CE4;
public const uint COLOR_ATTACHMENT5 = 0x8CE5;
public const uint COLOR_ATTACHMENT6 = 0x8CE6;
public const uint COLOR_ATTACHMENT7 = 0x8CE7;
public const uint COLOR_ATTACHMENT8 = 0x8CE8;
public const uint COLOR_ATTACHMENT9 = 0x8CE9;
public const uint COLOR_ATTACHMENT10 = 0x8CEA;
public const uint COLOR_ATTACHMENT11 = 0x8CEB;
public const uint COLOR_ATTACHMENT12 = 0x8CEC;
public const uint COLOR_ATTACHMENT13 = 0x8CED;
public const uint COLOR_ATTACHMENT14 = 0x8CEE;
public const uint COLOR_ATTACHMENT15 = 0x8CEF;
public const uint COLOR_ATTACHMENT16 = 0x8CF0;
public const uint COLOR_ATTACHMENT17 = 0x8CF1;
public const uint COLOR_ATTACHMENT18 = 0x8CF2;
public const uint COLOR_ATTACHMENT19 = 0x8CF3;
public const uint COLOR_ATTACHMENT20 = 0x8CF4;
public const uint COLOR_ATTACHMENT21 = 0x8CF5;
public const uint COLOR_ATTACHMENT22 = 0x8CF6;
public const uint COLOR_ATTACHMENT23 = 0x8CF7;
public const uint COLOR_ATTACHMENT24 = 0x8CF8;
public const uint COLOR_ATTACHMENT25 = 0x8CF9;
public const uint COLOR_ATTACHMENT26 = 0x8CFA;
public const uint COLOR_ATTACHMENT27 = 0x8CFB;
public const uint COLOR_ATTACHMENT28 = 0x8CFC;
public const uint COLOR_ATTACHMENT29 = 0x8CFD;
public const uint COLOR_ATTACHMENT30 = 0x8CFE;
public const uint COLOR_ATTACHMENT31 = 0x8CFF;
public const uint DEPTH_ATTACHMENT = 0x8D00;
public const uint STENCIL_ATTACHMENT = 0x8D20;
public const uint FRAMEBUFFER = 0x8D40;
public const uint RENDERBUFFER = 0x8D41;
public const uint RENDERBUFFER_WIDTH = 0x8D42;
public const uint RENDERBUFFER_HEIGHT = 0x8D43;
public const uint RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
public const uint STENCIL_INDEX1 = 0x8D46;
public const uint STENCIL_INDEX4 = 0x8D47;
public const uint STENCIL_INDEX8 = 0x8D48;
public const uint STENCIL_INDEX16 = 0x8D49;
public const uint RENDERBUFFER_RED_SIZE = 0x8D50;
public const uint RENDERBUFFER_GREEN_SIZE = 0x8D51;
public const uint RENDERBUFFER_BLUE_SIZE = 0x8D52;
public const uint RENDERBUFFER_ALPHA_SIZE = 0x8D53;
public const uint RENDERBUFFER_DEPTH_SIZE = 0x8D54;
public const uint RENDERBUFFER_STENCIL_SIZE = 0x8D55;
public const uint FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
public const uint MAX_SAMPLES = 0x8D57;
public const uint FRAMEBUFFER_SRGB = 0x8DB9;
public const uint HALF_FLOAT = 0x140B;
public const uint MAP_READ_BIT = 0x0001;
public const uint MAP_WRITE_BIT = 0x0002;
public const uint MAP_INVALIDATE_RANGE_BIT = 0x0004;
public const uint MAP_INVALIDATE_BUFFER_BIT = 0x0008;
public const uint MAP_FLUSH_EXPLICIT_BIT = 0x0010;
public const uint MAP_UNSYNCHRONIZED_BIT = 0x0020;
public const uint COMPRESSED_RED_RGTC1 = 0x8DBB;
public const uint COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC;
public const uint COMPRESSED_RG_RGTC2 = 0x8DBD;
public const uint COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE;
public const uint RG = 0x8227;
public const uint RG_INTEGER = 0x8228;
public const uint R8 = 0x8229;
public const uint R16 = 0x822A;
public const uint RG8 = 0x822B;
public const uint RG16 = 0x822C;
public const uint R16F = 0x822D;
public const uint R32F = 0x822E;
public const uint RG16F = 0x822F;
public const uint RG32F = 0x8230;
public const uint R8I = 0x8231;
public const uint R8UI = 0x8232;
public const uint R16I = 0x8233;
public const uint R16UI = 0x8234;
public const uint R32I = 0x8235;
public const uint R32UI = 0x8236;
public const uint RG8I = 0x8237;
public const uint RG8UI = 0x8238;
public const uint RG16I = 0x8239;
public const uint RG16UI = 0x823A;
public const uint RG32I = 0x823B;
public const uint RG32UI = 0x823C;
public const uint VERTEX_ARRAY_BINDING = 0x85B5;
public const uint SAMPLER_2D_RECT = 0x8B63;
public const uint SAMPLER_2D_RECT_SHADOW = 0x8B64;
public const uint SAMPLER_BUFFER = 0x8DC2;
public const uint INT_SAMPLER_2D_RECT = 0x8DCD;
public const uint INT_SAMPLER_BUFFER = 0x8DD0;
public const uint UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5;
public const uint UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8;
public const uint TEXTURE_BUFFER = 0x8C2A;
public const uint MAX_TEXTURE_BUFFER_SIZE = 0x8C2B;
public const uint TEXTURE_BINDING_BUFFER = 0x8C2C;
public const uint TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D;
public const uint TEXTURE_RECTANGLE = 0x84F5;
public const uint TEXTURE_BINDING_RECTANGLE = 0x84F6;
public const uint PROXY_TEXTURE_RECTANGLE = 0x84F7;
public const uint MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8;
public const uint R8_SNORM = 0x8F94;
public const uint RG8_SNORM = 0x8F95;
public const uint RGB8_SNORM = 0x8F96;
public const uint RGBA8_SNORM = 0x8F97;
public const uint R16_SNORM = 0x8F98;
public const uint RG16_SNORM = 0x8F99;
public const uint RGB16_SNORM = 0x8F9A;
public const uint RGBA16_SNORM = 0x8F9B;
public const uint SIGNED_NORMALIZED = 0x8F9C;
public const uint PRIMITIVE_RESTART = 0x8F9D;
public const uint PRIMITIVE_RESTART_INDEX = 0x8F9E;
public const uint COPY_READ_BUFFER = 0x8F36;
public const uint COPY_WRITE_BUFFER = 0x8F37;
public const uint UNIFORM_BUFFER = 0x8A11;
public const uint UNIFORM_BUFFER_BINDING = 0x8A28;
public const uint UNIFORM_BUFFER_START = 0x8A29;
public const uint UNIFORM_BUFFER_SIZE = 0x8A2A;
public const uint MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
public const uint MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C;
public const uint MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
public const uint MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
public const uint MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
public const uint MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
public const uint MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
public const uint MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32;
public const uint MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
public const uint UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
public const uint ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35;
public const uint ACTIVE_UNIFORM_BLOCKS = 0x8A36;
public const uint UNIFORM_TYPE = 0x8A37;
public const uint UNIFORM_SIZE = 0x8A38;
public const uint UNIFORM_NAME_LENGTH = 0x8A39;
public const uint UNIFORM_BLOCK_INDEX = 0x8A3A;
public const uint UNIFORM_OFFSET = 0x8A3B;
public const uint UNIFORM_ARRAY_STRIDE = 0x8A3C;
public const uint UNIFORM_MATRIX_STRIDE = 0x8A3D;
public const uint UNIFORM_IS_ROW_MAJOR = 0x8A3E;
public const uint UNIFORM_BLOCK_BINDING = 0x8A3F;
public const uint UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
public const uint UNIFORM_BLOCK_NAME_LENGTH = 0x8A41;
public const uint UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
public const uint UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
public const uint UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
public const uint UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45;
public const uint UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
public const uint INVALID_INDEX = 0xFFFFFFFF;
public const uint CONTEXT_CORE_PROFILE_BIT = 0x00000001;
public const uint CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002;
public const uint LINES_ADJACENCY = 0x000A;
public const uint LINE_STRIP_ADJACENCY = 0x000B;
public const uint TRIANGLES_ADJACENCY = 0x000C;
public const uint TRIANGLE_STRIP_ADJACENCY = 0x000D;
public const uint PROGRAM_POINT_SIZE = 0x8642;
public const uint MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29;
public const uint FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7;
public const uint FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8;
public const uint GEOMETRY_SHADER = 0x8DD9;
public const uint GEOMETRY_VERTICES_OUT = 0x8916;
public const uint GEOMETRY_INPUT_TYPE = 0x8917;
public const uint GEOMETRY_OUTPUT_TYPE = 0x8918;
public const uint MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF;
public const uint MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0;
public const uint MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1;
public const uint MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
public const uint MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123;
public const uint MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124;
public const uint MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
public const uint CONTEXT_PROFILE_MASK = 0x9126;
public const uint DEPTH_CLAMP = 0x864F;
public const uint QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C;
public const uint FIRST_VERTEX_CONVENTION = 0x8E4D;
public const uint LAST_VERTEX_CONVENTION = 0x8E4E;
public const uint PROVOKING_VERTEX = 0x8E4F;
public const uint TEXTURE_CUBE_MAP_SEAMLESS = 0x884F;
public const uint MAX_SERVER_WAIT_TIMEOUT = 0x9111;
public const uint OBJECT_TYPE = 0x9112;
public const uint SYNC_CONDITION = 0x9113;
public const uint SYNC_STATUS = 0x9114;
public const uint SYNC_FLAGS = 0x9115;
public const uint SYNC_FENCE = 0x9116;
public const uint SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
public const uint UNSIGNALED = 0x9118;
public const uint SIGNALED = 0x9119;
public const uint ALREADY_SIGNALED = 0x911A;
public const uint TIMEOUT_EXPIRED = 0x911B;
public const uint CONDITION_SATISFIED = 0x911C;
public const uint WAIT_FAILED = 0x911D;
public const ulong TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF;
public const uint SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
public const uint SAMPLE_POSITION = 0x8E50;
public const uint SAMPLE_MASK = 0x8E51;
public const uint SAMPLE_MASK_VALUE = 0x8E52;
public const uint MAX_SAMPLE_MASK_WORDS = 0x8E59;
public const uint TEXTURE_2D_MULTISAMPLE = 0x9100;
public const uint PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101;
public const uint TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102;
public const uint PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103;
public const uint TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
public const uint TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105;
public const uint TEXTURE_SAMPLES = 0x9106;
public const uint TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
public const uint SAMPLER_2D_MULTISAMPLE = 0x9108;
public const uint INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
public const uint UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
public const uint SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B;
public const uint INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C;
public const uint UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D;
public const uint MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
public const uint MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
public const uint MAX_INTEGER_SAMPLES = 0x9110;
public const uint VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
public const uint SRC1_COLOR = 0x88F9;
public const uint ONE_MINUS_SRC1_COLOR = 0x88FA;
public const uint ONE_MINUS_SRC1_ALPHA = 0x88FB;
public const uint MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC;
public const uint ANY_SAMPLES_PASSED = 0x8C2F;
public const uint SAMPLER_BINDING = 0x8919;
public const uint RGB10_A2UI = 0x906F;
public const uint TEXTURE_SWIZZLE_R = 0x8E42;
public const uint TEXTURE_SWIZZLE_G = 0x8E43;
public const uint TEXTURE_SWIZZLE_B = 0x8E44;
public const uint TEXTURE_SWIZZLE_A = 0x8E45;
public const uint TEXTURE_SWIZZLE_RGBA = 0x8E46;
public const uint TIME_ELAPSED = 0x88BF;
public const uint TIMESTAMP = 0x8E28;
public const uint INT_2_10_10_10_REV = 0x8D9F;
}
}
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
// ReSharper disable IdentifierTypo
// ReSharper disable InconsistentNaming
// ReSharper disable UnusedMember.Global
namespace OpenGL
{
[SuppressUnmanagedCodeSecurity]
public static unsafe partial class GL
{
/// <summary>
/// Specify whether front- or back-facing facets can be culled
/// </summary>
/// <param name="mode">Specifies whether front- or back-facing facets are candidates for culling. Symbolic constants.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CullFace(uint mode) => glCullFace(mode);
/// <summary>
/// Define front- and back-facing polygons
/// </summary>
/// <param name="mode">Specifies the orientation of front-facing polygons.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FrontFace(uint mode) => glFrontFace(mode);
/// <summary>
/// Specify implementation-specific hints
/// </summary>
/// <param name="target">Specifies a symbolic constant indicating the behavior to be controlled.</param>
/// <param name="mode">Specifies a symbolic constant indicating the desired behavior.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Hint(uint target, uint mode) => glHint(target, mode);
/// <summary>
/// Specify the width of rasterized lines
/// </summary>
/// <param name="width">Specifies the width of rasterized lines. The initial value is 1.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void LineWidth(float width) => glLineWidth(width);
/// <summary>
/// Specify the diameter of rasterized points
/// </summary>
/// <param name="size">Specifies the diameter of rasterized points. The initial value is 1.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointSize(float size) => glPointSize(size);
/// <summary>
/// Select a polygon rasterization mode
/// </summary>
/// <param name="face">Specifies the polygons that.</param>
/// <param name="mode">Specifies how polygons will be rasterized. Accepted values are.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PolygonMode(uint face, uint mode) => glPolygonMode(face, mode);
/// <summary>
/// Define the scissor box
/// </summary>
/// <param name="x">Specify the lower left corner of the scissor box. Initially (0, 0).</param>
/// <param name="y"></param>
/// <param name="width">Specify the width and height of the scissor box. When a GL context is first attached to a window,.</param>
/// <param name="height"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Scissor(int x, int y, uint width, uint height) => glScissor(x, y, width, height);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterf(uint target, uint pname, float param) => glTexParameterf(target, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterfv(uint target, uint pname, [In] float *parameters) => glTexParameterfv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterfv(uint target, uint pname, ref float parameters) => glTexParameterfv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterfv(uint target, uint pname, [In] float[] parameters) => glTexParameterfv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameteri(uint target, uint pname, int param) => glTexParameteri(target, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameteriv(uint target, uint pname, [In] int *parameters) => glTexParameteriv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameteriv(uint target, uint pname, ref int parameters) => glTexParameteriv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameteriv(uint target, uint pname, [In] int[] parameters) => glTexParameteriv2(target, pname, parameters);
/// <summary>
/// Specify a one-dimensional texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">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 one of the compressed internal formats given in Table 3, below.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support texture images that are at least 1024 texels wide. The height of the 1D texture image is 1.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage1D(uint target, int level, int internalformat, uint width, int border, uint format, uint type, IntPtr pixels) => glTexImage1D(target, level, internalformat, width, border, format, type, pixels);
/// <summary>
/// Specify a one-dimensional texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">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 one of the compressed internal formats given in Table 3, below.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support texture images that are at least 1024 texels wide. The height of the 1D texture image is 1.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage1D(uint target, int level, int internalformat, uint width, int border, uint format, uint type, void *pixels) => glTexImage1D1(target, level, internalformat, width, border, format, type, pixels);
/// <summary>
/// Specify a two-dimensional texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">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 one of the compressed internal formats given in Table 3, below.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support texture images that are at least 1024 texels wide.</param>
/// <param name="height">Specifies the height of the texture image, or the number of layers in a texture array, in the case of the.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage2D(uint target, int level, int internalformat, uint width, uint height, int border, uint format, uint type, IntPtr pixels) => glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
/// <summary>
/// Specify a two-dimensional texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">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 one of the compressed internal formats given in Table 3, below.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support texture images that are at least 1024 texels wide.</param>
/// <param name="height">Specifies the height of the texture image, or the number of layers in a texture array, in the case of the.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage2D(uint target, int level, int internalformat, uint width, uint height, int border, uint format, uint type, void *pixels) => glTexImage2D1(target, level, internalformat, width, height, border, format, type, pixels);
/// <summary>
/// Specify which color buffers are to be drawn into
/// </summary>
/// <param name="buf">For default framebuffer, the argument specifies up to four color buffers to be drawn into. Symbolic constants.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawBuffer(uint buf) => glDrawBuffer(buf);
/// <summary>
/// Clear buffers to preset values
/// </summary>
/// <param name="mask">Bitwise OR of masks that indicate the buffers to be cleared. The three masks are.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Clear(uint mask) => glClear(mask);
/// <summary>
/// Specify clear values for the color buffers
/// </summary>
/// <param name="red">Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0.</param>
/// <param name="green"></param>
/// <param name="blue"></param>
/// <param name="alpha"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearColor(float red, float green, float blue, float alpha) => glClearColor(red, green, blue, alpha);
/// <summary>
/// Specify the clear value for the stencil buffer
/// </summary>
/// <param name="s">Specifies the index used when the stencil buffer is cleared. The initial value is 0.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearStencil(int s) => glClearStencil(s);
/// <summary>
/// Specify the clear value for the depth buffer
/// </summary>
/// <param name="depth">Specifies the depth value used when the depth buffer is cleared. The initial value is 1.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearDepth(double depth) => glClearDepth(depth);
/// <summary>
/// Control the front and back writing of individual bits in the stencil planes
/// </summary>
/// <param name="mask">Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void StencilMask(uint mask) => glStencilMask(mask);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ColorMask(bool red, bool green, bool blue, bool alpha) => glColorMask(red, green, blue, alpha);
/// <summary>
/// Enable or disable writing into the depth buffer
/// </summary>
/// <param name="flag">Specifies whether the depth buffer is enabled for writing. If.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DepthMask(bool flag) => glDepthMask(flag);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Disable(uint cap) => glDisable(cap);
/// <summary>
/// Enable or disable server-side gl capabilities
/// </summary>
/// <param name="cap">Specifies a symbolic constant indicating a GL capability.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Enable(uint cap) => glEnable(cap);
/// <summary>
/// Specify pixel arithmetic
/// </summary>
/// <param name="sfactor">Specifies how the red, green, blue, and alpha source blending factors are computed. The initial value is.</param>
/// <param name="dfactor">Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted:.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BlendFunc(uint sfactor, uint dfactor) => glBlendFunc(sfactor, dfactor);
/// <summary>
/// Specify a logical pixel operation for rendering
/// </summary>
/// <param name="opcode">Specifies a symbolic constant that selects a logical operation. The following symbols are accepted:.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void LogicOp(uint opcode) => glLogicOp(opcode);
/// <summary>
/// Set front and back function and reference value for stencil testing
/// </summary>
/// <param name="func">Specifies the test function. Eight symbolic constants are valid:.</param>
/// <param name="reference"></param>
/// <param name="mask">Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void StencilFunc(uint func, int reference, uint mask) => glStencilFunc(func, reference, mask);
/// <summary>
/// Set front and back stencil test actions
/// </summary>
/// <param name="fail"></param>
/// <param name="zfail"></param>
/// <param name="zpass"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void StencilOp(uint fail, uint zfail, uint zpass) => glStencilOp(fail, zfail, zpass);
/// <summary>
/// Specify the value used for depth buffer comparisons
/// </summary>
/// <param name="func">Specifies the depth comparison function. Symbolic constants.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DepthFunc(uint func) => glDepthFunc(func);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PixelStoref(uint pname, float param) => glPixelStoref(pname, param);
/// <summary>
/// Set pixel storage modes
/// </summary>
/// <param name="pname">Specifies the symbolic name of the parameter to be set. Four values affect the packing of pixel data into memory:.</param>
/// <param name="param">Specifies the value that.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PixelStorei(uint pname, int param) => glPixelStorei(pname, param);
/// <summary>
/// Select a color buffer source for pixels
/// </summary>
/// <param name="src"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ReadBuffer(uint src) => glReadBuffer(src);
/// <summary>
/// Read a block of pixels from the frame buffer
/// </summary>
/// <param name="x">Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels.</param>
/// <param name="y"></param>
/// <param name="width">Specify the dimensions of the pixel rectangle.</param>
/// <param name="height"></param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. Must be one of.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ReadPixels(int x, int y, uint width, uint height, uint format, uint type, IntPtr pixels) => glReadPixels(x, y, width, height, format, type, pixels);
/// <summary>
/// Read a block of pixels from the frame buffer
/// </summary>
/// <param name="x">Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels.</param>
/// <param name="y"></param>
/// <param name="width">Specify the dimensions of the pixel rectangle.</param>
/// <param name="height"></param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. Must be one of.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ReadPixels(int x, int y, uint width, uint height, uint format, uint type, void *pixels) => glReadPixels1(x, y, width, height, format, type, pixels);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBooleanv(uint pname, [In, Out] bool *data) => glGetBooleanv(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBooleanv(uint pname, ref bool data) => glGetBooleanv1(pname, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBooleanv(uint pname, [In, Out] bool[] data) => glGetBooleanv2(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetDoublev(uint pname, [In, Out] double *data) => glGetDoublev(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetDoublev(uint pname, ref double data) => glGetDoublev1(pname, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetDoublev(uint pname, [In, Out] double[] data) => glGetDoublev2(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetFloatv(uint pname, [In, Out] float *data) => glGetFloatv(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetFloatv(uint pname, ref float data) => glGetFloatv1(pname, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetFloatv(uint pname, [In, Out] float[] data) => glGetFloatv2(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetIntegerv(uint pname, [In, Out] int *data) => glGetIntegerv(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetIntegerv(uint pname, ref int data) => glGetIntegerv1(pname, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetIntegerv(uint pname, [In, Out] int[] data) => glGetIntegerv2(pname, data);
/// <summary>
/// Return a string describing the current gl connection
/// </summary>
/// <param name="name">Specifies a symbolic constant, one of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IntPtr GetString(uint name) => glGetString(name);
/// <summary>
/// Return a texture image
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level.</param>
/// <param name="format">Specifies a pixel format for the returned data. The supported formats are.</param>
/// <param name="type">Specifies a pixel type for the returned data. The supported types are.</param>
/// <param name="pixels">Returns the texture image. Should be a pointer to an array of the type specified by.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexImage(uint target, int level, uint format, uint type, IntPtr pixels) => glGetTexImage(target, level, format, type, pixels);
/// <summary>
/// Return a texture image
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level.</param>
/// <param name="format">Specifies a pixel format for the returned data. The supported formats are.</param>
/// <param name="type">Specifies a pixel type for the returned data. The supported types are.</param>
/// <param name="pixels">Returns the texture image. Should be a pointer to an array of the type specified by.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexImage(uint target, int level, uint format, uint type, void *pixels) => glGetTexImage1(target, level, format, type, pixels);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterfv(uint target, uint pname, [In, Out] float *parameters) => glGetTexParameterfv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterfv(uint target, uint pname, ref float parameters) => glGetTexParameterfv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterfv(uint target, uint pname, [In, Out] float[] parameters) => glGetTexParameterfv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameteriv(uint target, uint pname, [In, Out] int *parameters) => glGetTexParameteriv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameteriv(uint target, uint pname, ref int parameters) => glGetTexParameteriv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameteriv(uint target, uint pname, [In, Out] int[] parameters) => glGetTexParameteriv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexLevelParameterfv(uint target, int level, uint pname, [In, Out] float *parameters) => glGetTexLevelParameterfv(target, level, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexLevelParameterfv(uint target, int level, uint pname, ref float parameters) => glGetTexLevelParameterfv1(target, level, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexLevelParameterfv(uint target, int level, uint pname, [In, Out] float[] parameters) => glGetTexLevelParameterfv2(target, level, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexLevelParameteriv(uint target, int level, uint pname, [In, Out] int *parameters) => glGetTexLevelParameteriv(target, level, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexLevelParameteriv(uint target, int level, uint pname, ref int parameters) => glGetTexLevelParameteriv1(target, level, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexLevelParameteriv(uint target, int level, uint pname, [In, Out] int[] parameters) => glGetTexLevelParameteriv2(target, level, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsEnabled(uint cap) => glIsEnabled(cap);
/// <summary>
/// Specify mapping of depth values from normalized device coordinates to window coordinates
/// </summary>
/// <param name="n"></param>
/// <param name="f"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DepthRange(double n, double f) => glDepthRange(n, f);
/// <summary>
/// Set the viewport
/// </summary>
/// <param name="x">Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0).</param>
/// <param name="y"></param>
/// <param name="width">Specify the width and height of the viewport. When a GL context is first attached to a window,.</param>
/// <param name="height"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Viewport(int x, int y, uint width, uint height) => glViewport(x, y, width, height);
/// <summary>
/// Render primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="first">Specifies the starting index in the enabled arrays.</param>
/// <param name="count">Specifies the number of indices to be rendered.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawArrays(uint mode, int first, uint count) => glDrawArrays(mode, first, count);
/// <summary>
/// Render primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElements(uint mode, uint count, uint type, IntPtr indices) => glDrawElements(mode, count, type, indices);
/// <summary>
/// Render primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElements(uint mode, uint count, uint type, void *indices) => glDrawElements1(mode, count, type, indices);
/// <summary>
/// Set the scale and units used to calculate depth values
/// </summary>
/// <param name="factor">Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.</param>
/// <param name="units">Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PolygonOffset(float factor, float units) => glPolygonOffset(factor, units);
/// <summary>
/// Copy pixels into a 1d texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the internal format of the texture. Must be one of the following symbolic constants:.</param>
/// <param name="x">Specify the window coordinates of the left corner of the row of pixels to be copied.</param>
/// <param name="y"></param>
/// <param name="width">Specifies the width of the texture image. The height of the texture image is 1.</param>
/// <param name="border">Must be 0.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CopyTexImage1D(uint target, int level, uint internalformat, int x, int y, uint width, int border) => glCopyTexImage1D(target, level, internalformat, x, y, width, border);
/// <summary>
/// Copy pixels into a 2d texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the internal format of the texture. Must be one of the following symbolic constants:.</param>
/// <param name="x">Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.</param>
/// <param name="y"></param>
/// <param name="width">Specifies the width of the texture image.</param>
/// <param name="height">Specifies the height of the texture image.</param>
/// <param name="border">Must be 0.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CopyTexImage2D(uint target, int level, uint internalformat, int x, int y, uint width, uint height, int border) => glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
/// <summary>
/// Copy a one-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture object is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies the texel offset within the texture array.</param>
/// <param name="x">Specify the window coordinates of the left corner of the row of pixels to be copied.</param>
/// <param name="y"></param>
/// <param name="width">Specifies the width of the texture subimage.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CopyTexSubImage1D(uint target, int level, int xoffset, int x, int y, uint width) => glCopyTexSubImage1D(target, level, xoffset, x, y, width);
/// <summary>
/// Copy a two-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture object is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="x">Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.</param>
/// <param name="y"></param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CopyTexSubImage2D(uint target, int level, int xoffset, int yoffset, int x, int y, uint width, uint height) => glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
/// <summary>
/// Specify a one-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels">Specifies a pointer to the image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexSubImage1D(uint target, int level, int xoffset, uint width, uint format, uint type, IntPtr pixels) => glTexSubImage1D(target, level, xoffset, width, format, type, pixels);
/// <summary>
/// Specify a one-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels">Specifies a pointer to the image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexSubImage1D(uint target, int level, int xoffset, uint width, uint format, uint type, void *pixels) => glTexSubImage1D1(target, level, xoffset, width, format, type, pixels);
/// <summary>
/// Specify a two-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels">Specifies a pointer to the image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexSubImage2D(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint type, IntPtr pixels) => glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
/// <summary>
/// Specify a two-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels">Specifies a pointer to the image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexSubImage2D(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint type, void *pixels) => glTexSubImage2D1(target, level, xoffset, yoffset, width, height, format, type, pixels);
/// <summary>
/// Bind a named texture to a texturing target
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound. Must be one of.</param>
/// <param name="texture">Specifies the name of a texture.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindTexture(uint target, uint texture) => glBindTexture(target, texture);
/// <summary>
/// Delete named textures
/// </summary>
/// <param name="n">Specifies the number of textures to be deleted.</param>
/// <param name="textures">Specifies an array of textures to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteTextures(uint n, [In] uint *textures) => glDeleteTextures(n, textures);
/// <summary>
/// Delete named textures
/// </summary>
/// <param name="n">Specifies the number of textures to be deleted.</param>
/// <param name="textures">Specifies an array of textures to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteTextures(uint n, ref uint textures) => glDeleteTextures1(n, ref textures);
/// <summary>
/// Delete named textures
/// </summary>
/// <param name="n">Specifies the number of textures to be deleted.</param>
/// <param name="textures">Specifies an array of textures to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteTextures(uint n, [In] uint[] textures) => glDeleteTextures2(n, textures);
/// <summary>
/// Generate texture names
/// </summary>
/// <param name="n">Specifies the number of texture names to be generated.</param>
/// <param name="textures">Specifies an array in which the generated texture names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenTextures(uint n, [In, Out] uint *textures) => glGenTextures(n, textures);
/// <summary>
/// Generate texture names
/// </summary>
/// <param name="n">Specifies the number of texture names to be generated.</param>
/// <param name="textures">Specifies an array in which the generated texture names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenTextures(uint n, ref uint textures) => glGenTextures1(n, ref textures);
/// <summary>
/// Generate texture names
/// </summary>
/// <param name="n">Specifies the number of texture names to be generated.</param>
/// <param name="textures">Specifies an array in which the generated texture names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenTextures(uint n, [In, Out] uint[] textures) => glGenTextures2(n, textures);
/// <summary>
/// Determine if a name corresponds to a texture
/// </summary>
/// <param name="texture">Specifies a value that may be the name of a texture.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsTexture(uint texture) => glIsTexture(texture);
/// <summary>
/// Render primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="start">Specifies the minimum array index contained in.</param>
/// <param name="end">Specifies the maximum array index contained in.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawRangeElements(uint mode, uint start, uint end, uint count, uint type, IntPtr indices) => glDrawRangeElements(mode, start, end, count, type, indices);
/// <summary>
/// Render primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="start">Specifies the minimum array index contained in.</param>
/// <param name="end">Specifies the maximum array index contained in.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawRangeElements(uint mode, uint start, uint end, uint count, uint type, void *indices) => glDrawRangeElements1(mode, start, end, count, type, indices);
/// <summary>
/// Specify a three-dimensional texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be one of.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">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 one of the compressed internal formats given in Table 3, below.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support 3D texture images that are at least 16 texels wide.</param>
/// <param name="height">Specifies the height of the texture image. All implementations support 3D texture images that are at least 256 texels high.</param>
/// <param name="depth">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 texels deep, and texture arrays that are at least 256 layers deep.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage3D(uint target, int level, int internalformat, uint width, uint height, uint depth, int border, uint format, uint type, IntPtr pixels) => glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
/// <summary>
/// Specify a three-dimensional texture image
/// </summary>
/// <param name="target">Specifies the target texture. Must be one of.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">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 one of the compressed internal formats given in Table 3, below.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support 3D texture images that are at least 16 texels wide.</param>
/// <param name="height">Specifies the height of the texture image. All implementations support 3D texture images that are at least 256 texels high.</param>
/// <param name="depth">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 texels deep, and texture arrays that are at least 256 layers deep.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage3D(uint target, int level, int internalformat, uint width, uint height, uint depth, int border, uint format, uint type, void *pixels) => glTexImage3D1(target, level, internalformat, width, height, depth, border, format, type, pixels);
/// <summary>
/// Specify a three-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="zoffset">Specifies a texel offset in the z direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="depth">Specifies the depth of the texture subimage.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels">Specifies a pointer to the image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint type, IntPtr pixels) => glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
/// <summary>
/// Specify a three-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="zoffset">Specifies a texel offset in the z direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="depth">Specifies the depth of the texture subimage.</param>
/// <param name="format">Specifies the format of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="type">Specifies the data type of the pixel data. The following symbolic values are accepted:.</param>
/// <param name="pixels">Specifies a pointer to the image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint type, void *pixels) => glTexSubImage3D1(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
/// <summary>
/// Copy a three-dimensional texture subimage
/// </summary>
/// <param name="target">Specifies the target to which the texture object is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="zoffset">Specifies a texel offset in the z direction within the texture array.</param>
/// <param name="x">Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.</param>
/// <param name="y"></param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CopyTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, uint width, uint height) => glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
/// <summary>
/// Select active texture unit
/// </summary>
/// <param name="texture">Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least 80.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ActiveTexture(uint texture) => glActiveTexture(texture);
/// <summary>
/// Specify multisample coverage parameters
/// </summary>
/// <param name="value">Specify a single floating-point sample coverage value. The value is clamped to the range.</param>
/// <param name="invert">Specify a single boolean value representing if the coverage masks should be inverted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SampleCoverage(float value, bool invert) => glSampleCoverage(value, invert);
/// <summary>
/// Specify a three-dimensional texture image in a compressed format
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the format of the compressed image data stored at address.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support 3D texture images that are at least 16 texels wide.</param>
/// <param name="height">Specifies the height of the texture image. All implementations support 3D texture images that are at least 16 texels high.</param>
/// <param name="depth">Specifies the depth of the texture image. All implementations support 3D texture images that are at least 16 texels deep.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexImage3D(uint target, int level, uint internalformat, uint width, uint height, uint depth, int border, uint imageSize, IntPtr data) => glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
/// <summary>
/// Specify a three-dimensional texture image in a compressed format
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the format of the compressed image data stored at address.</param>
/// <param name="width">Specifies the width of the texture image. All implementations support 3D texture images that are at least 16 texels wide.</param>
/// <param name="height">Specifies the height of the texture image. All implementations support 3D texture images that are at least 16 texels high.</param>
/// <param name="depth">Specifies the depth of the texture image. All implementations support 3D texture images that are at least 16 texels deep.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexImage3D(uint target, int level, uint internalformat, uint width, uint height, uint depth, int border, uint imageSize, void *data) => glCompressedTexImage3D1(target, level, internalformat, width, height, depth, border, imageSize, data);
/// <summary>
/// Specify a two-dimensional texture image in a compressed format
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the format of the compressed image data stored at address.</param>
/// <param name="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.</param>
/// <param name="height">Specifies the height of the texture image. All implementations support 2D texture and cube map texture images that are at least 16384 texels high.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexImage2D(uint target, int level, uint internalformat, uint width, uint height, int border, uint imageSize, IntPtr data) => glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
/// <summary>
/// Specify a two-dimensional texture image in a compressed format
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the format of the compressed image data stored at address.</param>
/// <param name="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.</param>
/// <param name="height">Specifies the height of the texture image. All implementations support 2D texture and cube map texture images that are at least 16384 texels high.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexImage2D(uint target, int level, uint internalformat, uint width, uint height, int border, uint imageSize, void *data) => glCompressedTexImage2D1(target, level, internalformat, width, height, border, imageSize, data);
/// <summary>
/// Specify a one-dimensional texture image in a compressed format
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the format of the compressed image data stored at address.</param>
/// <param name="width">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.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexImage1D(uint target, int level, uint internalformat, uint width, int border, uint imageSize, IntPtr data) => glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
/// <summary>
/// Specify a one-dimensional texture image in a compressed format
/// </summary>
/// <param name="target">Specifies the target texture. Must be.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="internalformat">Specifies the format of the compressed image data stored at address.</param>
/// <param name="width">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.</param>
/// <param name="border">This value must be 0.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexImage1D(uint target, int level, uint internalformat, uint width, int border, uint imageSize, void *data) => glCompressedTexImage1D1(target, level, internalformat, width, border, imageSize, data);
/// <summary>
/// Specify a three-dimensional texture subimage in a compressed format
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="zoffset"></param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="depth">Specifies the depth of the texture subimage.</param>
/// <param name="format">Specifies the format of the compressed image data stored at address.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint imageSize, IntPtr data) => glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
/// <summary>
/// Specify a three-dimensional texture subimage in a compressed format
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="zoffset"></param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="depth">Specifies the depth of the texture subimage.</param>
/// <param name="format">Specifies the format of the compressed image data stored at address.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, uint width, uint height, uint depth, uint format, uint imageSize, void *data) => glCompressedTexSubImage3D1(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
/// <summary>
/// Specify a two-dimensional texture subimage in a compressed format
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="format">Specifies the format of the compressed image data stored at address.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint imageSize, IntPtr data) => glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
/// <summary>
/// Specify a two-dimensional texture subimage in a compressed format
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="yoffset">Specifies a texel offset in the y direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="height">Specifies the height of the texture subimage.</param>
/// <param name="format">Specifies the format of the compressed image data stored at address.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, uint width, uint height, uint format, uint imageSize, void *data) => glCompressedTexSubImage2D1(target, level, xoffset, yoffset, width, height, format, imageSize, data);
/// <summary>
/// Specify a one-dimensional texture subimage in a compressed format
/// </summary>
/// <param name="target">Specifies the target, to which the texture is bound, for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="format">Specifies the format of the compressed image data stored at address.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexSubImage1D(uint target, int level, int xoffset, uint width, uint format, uint imageSize, IntPtr data) => glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
/// <summary>
/// Specify a one-dimensional texture subimage in a compressed format
/// </summary>
/// <param name="target">Specifies the target, to which the texture is bound, for.</param>
/// <param name="level">Specifies the level-of-detail number. Level 0 is the base image level. Level.</param>
/// <param name="xoffset">Specifies a texel offset in the x direction within the texture array.</param>
/// <param name="width">Specifies the width of the texture subimage.</param>
/// <param name="format">Specifies the format of the compressed image data stored at address.</param>
/// <param name="imageSize">Specifies the number of unsigned bytes of image data starting at the address specified by.</param>
/// <param name="data">Specifies a pointer to the compressed image data in memory.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompressedTexSubImage1D(uint target, int level, int xoffset, uint width, uint format, uint imageSize, void *data) => glCompressedTexSubImage1D1(target, level, xoffset, width, format, imageSize, data);
/// <summary>
/// Return a compressed texture image
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">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.</param>
/// <param name="img"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetCompressedTexImage(uint target, int level, IntPtr img) => glGetCompressedTexImage(target, level, img);
/// <summary>
/// Return a compressed texture image
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="level">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.</param>
/// <param name="img"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetCompressedTexImage(uint target, int level, void *img) => glGetCompressedTexImage1(target, level, img);
/// <summary>
/// Specify pixel arithmetic for rgb and alpha components separately
/// </summary>
/// <param name="sfactorRGB"></param>
/// <param name="dfactorRGB"></param>
/// <param name="sfactorAlpha"></param>
/// <param name="dfactorAlpha"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha) => glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
/// <summary>
/// Render multiple sets of primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="first">Points to an array of starting indices in the enabled arrays.</param>
/// <param name="count">Points to an array of the number of indices to be rendered.</param>
/// <param name="drawcount">Specifies the size of the first and count.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawArrays(uint mode, [In] int *first, [In] uint *count, uint drawcount) => glMultiDrawArrays(mode, first, count, drawcount);
/// <summary>
/// Render multiple sets of primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="first">Points to an array of starting indices in the enabled arrays.</param>
/// <param name="count">Points to an array of the number of indices to be rendered.</param>
/// <param name="drawcount">Specifies the size of the first and count.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawArrays(uint mode, ref int first, [In] uint *count, uint drawcount) => glMultiDrawArrays1(mode, ref first, count, drawcount);
/// <summary>
/// Render multiple sets of primitives from array data
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="first">Points to an array of starting indices in the enabled arrays.</param>
/// <param name="count">Points to an array of the number of indices to be rendered.</param>
/// <param name="drawcount">Specifies the size of the first and count.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawArrays(uint mode, [In] int[] first, [In] uint *count, uint drawcount) => glMultiDrawArrays2(mode, first, count, drawcount);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElements(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount) => glMultiDrawElements(mode, count, type, indices, drawcount);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElements(uint mode, [In] uint *count, uint type, void *indices, uint drawcount) => glMultiDrawElements1(mode, count, type, indices, drawcount);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameterf(uint pname, float param) => glPointParameterf(pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameterfv(uint pname, [In] float *parameters) => glPointParameterfv(pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameterfv(uint pname, ref float parameters) => glPointParameterfv1(pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameterfv(uint pname, [In] float[] parameters) => glPointParameterfv2(pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameteri(uint pname, int param) => glPointParameteri(pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameteriv(uint pname, [In] int *parameters) => glPointParameteriv(pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameteriv(uint pname, ref int parameters) => glPointParameteriv1(pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PointParameteriv(uint pname, [In] int[] parameters) => glPointParameteriv2(pname, parameters);
/// <summary>
/// Set the blend color
/// </summary>
/// <param name="red">specify the components of.</param>
/// <param name="green"></param>
/// <param name="blue"></param>
/// <param name="alpha"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BlendColor(float red, float green, float blue, float alpha) => glBlendColor(red, green, blue, alpha);
/// <summary>
/// Specify the equation used for both the rgb blend equation and the alpha blend equation
/// </summary>
/// <param name="mode">specifies how source and destination colors are combined. It must be.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BlendEquation(uint mode) => glBlendEquation(mode);
/// <summary>
/// Generate query object names
/// </summary>
/// <param name="n">Specifies the number of query object names to be generated.</param>
/// <param name="ids">Specifies an array in which the generated query object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenQueries(uint n, [In, Out] uint *ids) => glGenQueries(n, ids);
/// <summary>
/// Generate query object names
/// </summary>
/// <param name="n">Specifies the number of query object names to be generated.</param>
/// <param name="ids">Specifies an array in which the generated query object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenQueries(uint n, ref uint ids) => glGenQueries1(n, ref ids);
/// <summary>
/// Generate query object names
/// </summary>
/// <param name="n">Specifies the number of query object names to be generated.</param>
/// <param name="ids">Specifies an array in which the generated query object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenQueries(uint n, [In, Out] uint[] ids) => glGenQueries2(n, ids);
/// <summary>
/// Delete named query objects
/// </summary>
/// <param name="n">Specifies the number of query objects to be deleted.</param>
/// <param name="ids">Specifies an array of query objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteQueries(uint n, [In] uint *ids) => glDeleteQueries(n, ids);
/// <summary>
/// Delete named query objects
/// </summary>
/// <param name="n">Specifies the number of query objects to be deleted.</param>
/// <param name="ids">Specifies an array of query objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteQueries(uint n, ref uint ids) => glDeleteQueries1(n, ref ids);
/// <summary>
/// Delete named query objects
/// </summary>
/// <param name="n">Specifies the number of query objects to be deleted.</param>
/// <param name="ids">Specifies an array of query objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteQueries(uint n, [In] uint[] ids) => glDeleteQueries2(n, ids);
/// <summary>
/// Determine if a name corresponds to a query object
/// </summary>
/// <param name="id">Specifies a value that may be the name of a query object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsQuery(uint id) => glIsQuery(id);
/// <summary>
/// Delimit the boundaries of a query object
/// </summary>
/// <param name="target">Specifies the target type of query object established between.</param>
/// <param name="id">Specifies the name of a query object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BeginQuery(uint target, uint id) => glBeginQuery(target, id);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void EndQuery(uint target) => glEndQuery(target);
/// <summary>
/// Return parameters of a query object target
/// </summary>
/// <param name="target">Specifies a query object target. Must be.</param>
/// <param name="pname">Specifies the symbolic name of a query object target parameter. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryiv(uint target, uint pname, [In, Out] int *parameters) => glGetQueryiv(target, pname, parameters);
/// <summary>
/// Return parameters of a query object target
/// </summary>
/// <param name="target">Specifies a query object target. Must be.</param>
/// <param name="pname">Specifies the symbolic name of a query object target parameter. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryiv(uint target, uint pname, ref int parameters) => glGetQueryiv1(target, pname, ref parameters);
/// <summary>
/// Return parameters of a query object target
/// </summary>
/// <param name="target">Specifies a query object target. Must be.</param>
/// <param name="pname">Specifies the symbolic name of a query object target parameter. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryiv(uint target, uint pname, [In, Out] int[] parameters) => glGetQueryiv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectiv(uint id, uint pname, [In, Out] int *parameters) => glGetQueryObjectiv(id, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectiv(uint id, uint pname, ref int parameters) => glGetQueryObjectiv1(id, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectiv(uint id, uint pname, [In, Out] int[] parameters) => glGetQueryObjectiv2(id, pname, parameters);
/// <summary>
/// Return parameters of a query object
/// </summary>
/// <param name="id">Specifies the name of a query object.</param>
/// <param name="pname">Specifies the symbolic name of a query object parameter. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectuiv(uint id, uint pname, [In, Out] uint *parameters) => glGetQueryObjectuiv(id, pname, parameters);
/// <summary>
/// Return parameters of a query object
/// </summary>
/// <param name="id">Specifies the name of a query object.</param>
/// <param name="pname">Specifies the symbolic name of a query object parameter. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectuiv(uint id, uint pname, ref uint parameters) => glGetQueryObjectuiv1(id, pname, ref parameters);
/// <summary>
/// Return parameters of a query object
/// </summary>
/// <param name="id">Specifies the name of a query object.</param>
/// <param name="pname">Specifies the symbolic name of a query object parameter. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectuiv(uint id, uint pname, [In, Out] uint[] parameters) => glGetQueryObjectuiv2(id, pname, parameters);
/// <summary>
/// Bind a named buffer object
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound, which must be one of the buffer binding targets in the following table:.</param>
/// <param name="buffer">Specifies the name of a buffer object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindBuffer(uint target, uint buffer) => glBindBuffer(target, buffer);
/// <summary>
/// Delete named buffer objects
/// </summary>
/// <param name="n">Specifies the number of buffer objects to be deleted.</param>
/// <param name="buffers">Specifies an array of buffer objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteBuffers(uint n, [In] uint *buffers) => glDeleteBuffers(n, buffers);
/// <summary>
/// Delete named buffer objects
/// </summary>
/// <param name="n">Specifies the number of buffer objects to be deleted.</param>
/// <param name="buffers">Specifies an array of buffer objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteBuffers(uint n, ref uint buffers) => glDeleteBuffers1(n, ref buffers);
/// <summary>
/// Delete named buffer objects
/// </summary>
/// <param name="n">Specifies the number of buffer objects to be deleted.</param>
/// <param name="buffers">Specifies an array of buffer objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteBuffers(uint n, [In] uint[] buffers) => glDeleteBuffers2(n, buffers);
/// <summary>
/// Generate buffer object names
/// </summary>
/// <param name="n">Specifies the number of buffer object names to be generated.</param>
/// <param name="buffers">Specifies an array in which the generated buffer object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenBuffers(uint n, [In, Out] uint *buffers) => glGenBuffers(n, buffers);
/// <summary>
/// Generate buffer object names
/// </summary>
/// <param name="n">Specifies the number of buffer object names to be generated.</param>
/// <param name="buffers">Specifies an array in which the generated buffer object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenBuffers(uint n, ref uint buffers) => glGenBuffers1(n, ref buffers);
/// <summary>
/// Generate buffer object names
/// </summary>
/// <param name="n">Specifies the number of buffer object names to be generated.</param>
/// <param name="buffers">Specifies an array in which the generated buffer object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenBuffers(uint n, [In, Out] uint[] buffers) => glGenBuffers2(n, buffers);
/// <summary>
/// Determine if a name corresponds to a buffer object
/// </summary>
/// <param name="buffer">Specifies a value that may be the name of a buffer object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsBuffer(uint buffer) => glIsBuffer(buffer);
/// <summary>
/// Creates and initializes a buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="size">Specifies the size in bytes of the buffer object's new data store.</param>
/// <param name="data">Specifies a pointer to data that will be copied into the data store for initialization, or.</param>
/// <param name="usage">Specifies the expected usage pattern of the data store. The symbolic constant must be.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BufferData(uint target, IntPtr size, IntPtr data, uint usage) => glBufferData(target, size, data, usage);
/// <summary>
/// Creates and initializes a buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="size">Specifies the size in bytes of the buffer object's new data store.</param>
/// <param name="data">Specifies a pointer to data that will be copied into the data store for initialization, or.</param>
/// <param name="usage">Specifies the expected usage pattern of the data store. The symbolic constant must be.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BufferData(uint target, IntPtr size, void *data, uint usage) => glBufferData1(target, size, data, usage);
/// <summary>
/// Updates a subset of a buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="offset">Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.</param>
/// <param name="size">Specifies the size in bytes of the data store region being replaced.</param>
/// <param name="data">Specifies a pointer to the new data that will be copied into the data store.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BufferSubData(uint target, IntPtr offset, IntPtr size, IntPtr data) => glBufferSubData(target, offset, size, data);
/// <summary>
/// Updates a subset of a buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="offset">Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.</param>
/// <param name="size">Specifies the size in bytes of the data store region being replaced.</param>
/// <param name="data">Specifies a pointer to the new data that will be copied into the data store.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BufferSubData(uint target, IntPtr offset, IntPtr size, void *data) => glBufferSubData1(target, offset, size, data);
/// <summary>
/// Returns a subset of a buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="offset">Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.</param>
/// <param name="size">Specifies the size in bytes of the data store region being returned.</param>
/// <param name="data">Specifies a pointer to the location where buffer object data is returned.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferSubData(uint target, IntPtr offset, IntPtr size, IntPtr data) => glGetBufferSubData(target, offset, size, data);
/// <summary>
/// Returns a subset of a buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="offset">Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.</param>
/// <param name="size">Specifies the size in bytes of the data store region being returned.</param>
/// <param name="data">Specifies a pointer to the location where buffer object data is returned.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferSubData(uint target, IntPtr offset, IntPtr size, void *data) => glGetBufferSubData1(target, offset, size, data);
/// <summary>
/// Map all of a buffer object's data store into the client's address space
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="access">Specifies the access policy for.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IntPtr MapBuffer(uint target, uint access) => glMapBuffer(target, access);
/// <summary>
/// Release the mapping of a buffer object's data store into the client's address space
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool UnmapBuffer(uint target) => glUnmapBuffer(target);
/// <summary>
/// Return parameters of a buffer object
/// </summary>
/// <param name="target"></param>
/// <param name="pname"></param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferParameteriv(uint target, uint pname, [In, Out] int *parameters) => glGetBufferParameteriv(target, pname, parameters);
/// <summary>
/// Return parameters of a buffer object
/// </summary>
/// <param name="target"></param>
/// <param name="pname"></param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferParameteriv(uint target, uint pname, ref int parameters) => glGetBufferParameteriv1(target, pname, ref parameters);
/// <summary>
/// Return parameters of a buffer object
/// </summary>
/// <param name="target"></param>
/// <param name="pname"></param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferParameteriv(uint target, uint pname, [In, Out] int[] parameters) => glGetBufferParameteriv2(target, pname, parameters);
/// <summary>
/// Return the pointer to a mapped buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="pname">Specifies the name of the pointer to be returned. Must be.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferPointerv(uint target, uint pname, ref IntPtr parameters) => glGetBufferPointerv(target, pname, ref parameters);
/// <summary>
/// Return the pointer to a mapped buffer object's data store
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="pname">Specifies the name of the pointer to be returned. Must be.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferPointerv(uint target, uint pname, void **parameters) => glGetBufferPointerv1(target, pname, parameters);
/// <summary>
/// Set the rgb blend equation and the alpha blend equation separately
/// </summary>
/// <param name="modeRGB">specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be.</param>
/// <param name="modeAlpha">specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BlendEquationSeparate(uint modeRGB, uint modeAlpha) => glBlendEquationSeparate(modeRGB, modeAlpha);
/// <summary>
/// Specifies a list of color buffers to be drawn into
/// </summary>
/// <param name="n">Specifies the number of buffers in.</param>
/// <param name="bufs">Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawBuffers(uint n, [In] uint *bufs) => glDrawBuffers(n, bufs);
/// <summary>
/// Specifies a list of color buffers to be drawn into
/// </summary>
/// <param name="n">Specifies the number of buffers in.</param>
/// <param name="bufs">Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawBuffers(uint n, ref uint bufs) => glDrawBuffers1(n, ref bufs);
/// <summary>
/// Specifies a list of color buffers to be drawn into
/// </summary>
/// <param name="n">Specifies the number of buffers in.</param>
/// <param name="bufs">Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawBuffers(uint n, [In] uint[] bufs) => glDrawBuffers2(n, bufs);
/// <summary>
/// Set front and/or back stencil test actions
/// </summary>
/// <param name="face">Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid:.</param>
/// <param name="sfail">Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted:.</param>
/// <param name="dpfail">Specifies the stencil action when the stencil test passes, but the depth test fails.</param>
/// <param name="dppass">Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void StencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass) => glStencilOpSeparate(face, sfail, dpfail, dppass);
/// <summary>
/// Set front and/or back function and reference value for stencil testing
/// </summary>
/// <param name="face">Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid:.</param>
/// <param name="func">Specifies the test function. Eight symbolic constants are valid:.</param>
/// <param name="reference"></param>
/// <param name="mask">Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void StencilFuncSeparate(uint face, uint func, int reference, uint mask) => glStencilFuncSeparate(face, func, reference, mask);
/// <summary>
/// Control the front and/or back writing of individual bits in the stencil planes
/// </summary>
/// <param name="face">Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid:.</param>
/// <param name="mask">Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void StencilMaskSeparate(uint face, uint mask) => glStencilMaskSeparate(face, mask);
/// <summary>
/// Attaches a shader object to a program object
/// </summary>
/// <param name="program">Specifies the program object to which a shader object will be attached.</param>
/// <param name="shader">Specifies the shader object that is to be attached.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void AttachShader(uint program, uint shader) => glAttachShader(program, shader);
/// <summary>
/// Associates a generic vertex attribute index with a named attribute variable
/// </summary>
/// <param name="program">Specifies the handle of the program object in which the association is to be made.</param>
/// <param name="index">Specifies the index of the generic vertex attribute to be bound.</param>
/// <param name="name">Specifies a null terminated string containing the name of the vertex shader attribute variable to which.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindAttribLocation(uint program, uint index, [In] byte *name) => glBindAttribLocation(program, index, name);
/// <summary>
/// Associates a generic vertex attribute index with a named attribute variable
/// </summary>
/// <param name="program">Specifies the handle of the program object in which the association is to be made.</param>
/// <param name="index">Specifies the index of the generic vertex attribute to be bound.</param>
/// <param name="name">Specifies a null terminated string containing the name of the vertex shader attribute variable to which.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindAttribLocation(uint program, uint index, ref byte name) => glBindAttribLocation1(program, index, ref name);
/// <summary>
/// Associates a generic vertex attribute index with a named attribute variable
/// </summary>
/// <param name="program">Specifies the handle of the program object in which the association is to be made.</param>
/// <param name="index">Specifies the index of the generic vertex attribute to be bound.</param>
/// <param name="name">Specifies a null terminated string containing the name of the vertex shader attribute variable to which.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindAttribLocation(uint program, uint index, [In] byte[] name) => glBindAttribLocation2(program, index, name);
/// <summary>
/// Compiles a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be compiled.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CompileShader(uint shader) => glCompileShader(shader);
/// <summary>
/// Creates a shader object
/// </summary>
/// <param name="type"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint CreateShader(uint type) => glCreateShader(type);
/// <summary>
/// Deletes a program object
/// </summary>
/// <param name="program">Specifies the program object to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteProgram(uint program) => glDeleteProgram(program);
/// <summary>
/// Deletes a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteShader(uint shader) => glDeleteShader(shader);
/// <summary>
/// Detaches a shader object from a program object to which it is attached
/// </summary>
/// <param name="program">Specifies the program object from which to detach the shader object.</param>
/// <param name="shader">Specifies the shader object to be detached.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DetachShader(uint program, uint shader) => glDetachShader(program, shader);
/// <summary>
/// Enable or disable a generic vertex attribute array
/// </summary>
/// <param name="index">Specifies the index of the generic vertex attribute to be enabled or disabled.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DisableVertexAttribArray(uint index) => glDisableVertexAttribArray(index);
/// <summary>
/// Enable or disable a generic vertex attribute array
/// </summary>
/// <param name="index">Specifies the index of the generic vertex attribute to be enabled or disabled.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void EnableVertexAttribArray(uint index) => glEnableVertexAttribArray(index);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte *name) => glGetActiveAttrib(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, ref byte name) => glGetActiveAttrib1(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte[] name) => glGetActiveAttrib2(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte *name) => glGetActiveAttrib3(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, ref byte name) => glGetActiveAttrib4(program, index, bufSize, length, size, ref type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte[] name) => glGetActiveAttrib5(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte *name) => glGetActiveAttrib6(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, ref byte name) => glGetActiveAttrib7(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetActiveAttrib8(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte *name) => glGetActiveAttrib9(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, ref byte name) => glGetActiveAttrib10(program, index, bufSize, length, ref size, type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte[] name) => glGetActiveAttrib11(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte *name) => glGetActiveAttrib12(program, index, bufSize, length, ref size, ref type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, ref byte name) => glGetActiveAttrib13(program, index, bufSize, length, ref size, ref type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte[] name) => glGetActiveAttrib14(program, index, bufSize, length, ref size, ref type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte *name) => glGetActiveAttrib15(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, ref byte name) => glGetActiveAttrib16(program, index, bufSize, length, ref size, type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetActiveAttrib17(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte *name) => glGetActiveAttrib18(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, ref byte name) => glGetActiveAttrib19(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte[] name) => glGetActiveAttrib20(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte *name) => glGetActiveAttrib21(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, ref byte name) => glGetActiveAttrib22(program, index, bufSize, length, size, ref type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte[] name) => glGetActiveAttrib23(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte *name) => glGetActiveAttrib24(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, ref byte name) => glGetActiveAttrib25(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active attribute variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the attribute variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the attribute variable.</param>
/// <param name="type">Returns the data type of the attribute variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the attribute variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveAttrib(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetActiveAttrib26(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte *name) => glGetActiveUniform(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, ref byte name) => glGetActiveUniform1(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint *type, [In, Out] byte[] name) => glGetActiveUniform2(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte *name) => glGetActiveUniform3(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, ref byte name) => glGetActiveUniform4(program, index, bufSize, length, size, ref type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, ref uint type, [In, Out] byte[] name) => glGetActiveUniform5(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte *name) => glGetActiveUniform6(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, ref byte name) => glGetActiveUniform7(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int *size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetActiveUniform8(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte *name) => glGetActiveUniform9(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, ref byte name) => glGetActiveUniform10(program, index, bufSize, length, ref size, type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint *type, [In, Out] byte[] name) => glGetActiveUniform11(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte *name) => glGetActiveUniform12(program, index, bufSize, length, ref size, ref type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, ref byte name) => glGetActiveUniform13(program, index, bufSize, length, ref size, ref type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, ref uint type, [In, Out] byte[] name) => glGetActiveUniform14(program, index, bufSize, length, ref size, ref type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte *name) => glGetActiveUniform15(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, ref byte name) => glGetActiveUniform16(program, index, bufSize, length, ref size, type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, ref int size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetActiveUniform17(program, index, bufSize, length, ref size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte *name) => glGetActiveUniform18(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, ref byte name) => glGetActiveUniform19(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint *type, [In, Out] byte[] name) => glGetActiveUniform20(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte *name) => glGetActiveUniform21(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, ref byte name) => glGetActiveUniform22(program, index, bufSize, length, size, ref type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, ref uint type, [In, Out] byte[] name) => glGetActiveUniform23(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte *name) => glGetActiveUniform24(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, ref byte name) => glGetActiveUniform25(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Returns information about an active uniform variable for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="index">Specifies the index of the uniform variable to be queried.</param>
/// <param name="bufSize">Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by.</param>
/// <param name="length">Returns the number of characters actually written by OpenGL in the string indicated by.</param>
/// <param name="size">Returns the size of the uniform variable.</param>
/// <param name="type">Returns the data type of the uniform variable.</param>
/// <param name="name">Returns a null terminated string containing the name of the uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniform(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] int[] size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetActiveUniform26(program, index, bufSize, length, size, type, name);
/// <summary>
/// Returns the handles of the shader objects attached to a program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="maxCount">Specifies the size of the array for storing the returned object names.</param>
/// <param name="count">Returns the number of names actually returned in.</param>
/// <param name="shaders">Specifies an array that is used to return the names of attached shader objects.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetAttachedShaders(uint program, uint maxCount, [In, Out] uint *count, [In, Out] uint *shaders) => glGetAttachedShaders(program, maxCount, count, shaders);
/// <summary>
/// Returns the handles of the shader objects attached to a program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="maxCount">Specifies the size of the array for storing the returned object names.</param>
/// <param name="count">Returns the number of names actually returned in.</param>
/// <param name="shaders">Specifies an array that is used to return the names of attached shader objects.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetAttachedShaders(uint program, uint maxCount, [In, Out] uint *count, ref uint shaders) => glGetAttachedShaders1(program, maxCount, count, ref shaders);
/// <summary>
/// Returns the handles of the shader objects attached to a program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="maxCount">Specifies the size of the array for storing the returned object names.</param>
/// <param name="count">Returns the number of names actually returned in.</param>
/// <param name="shaders">Specifies an array that is used to return the names of attached shader objects.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetAttachedShaders(uint program, uint maxCount, [In, Out] uint *count, [In, Out] uint[] shaders) => glGetAttachedShaders2(program, maxCount, count, shaders);
/// <summary>
/// Returns the location of an attribute variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="name">Points to a null terminated string containing the name of the attribute variable whose location is to be queried.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetAttribLocation(uint program, [In] byte *name) => glGetAttribLocation(program, name);
/// <summary>
/// Returns the location of an attribute variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="name">Points to a null terminated string containing the name of the attribute variable whose location is to be queried.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetAttribLocation(uint program, ref byte name) => glGetAttribLocation1(program, ref name);
/// <summary>
/// Returns the location of an attribute variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="name">Points to a null terminated string containing the name of the attribute variable whose location is to be queried.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetAttribLocation(uint program, [In] byte[] name) => glGetAttribLocation2(program, name);
/// <summary>
/// Returns a parameter from a program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="pname">Specifies the object parameter. Accepted symbolic names are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetProgramiv(uint program, uint pname, [In, Out] int *parameters) => glGetProgramiv(program, pname, parameters);
/// <summary>
/// Returns a parameter from a program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="pname">Specifies the object parameter. Accepted symbolic names are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetProgramiv(uint program, uint pname, ref int parameters) => glGetProgramiv1(program, pname, ref parameters);
/// <summary>
/// Returns a parameter from a program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="pname">Specifies the object parameter. Accepted symbolic names are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetProgramiv(uint program, uint pname, [In, Out] int[] parameters) => glGetProgramiv2(program, pname, parameters);
/// <summary>
/// Returns the information log for a program object
/// </summary>
/// <param name="program">Specifies the program object whose information log is to be queried.</param>
/// <param name="bufSize"></param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="infoLog">Specifies an array of characters that is used to return the information log.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetProgramInfoLog(uint program, uint bufSize, [In, Out] uint *length, [In, Out] byte *infoLog) => glGetProgramInfoLog(program, bufSize, length, infoLog);
/// <summary>
/// Returns the information log for a program object
/// </summary>
/// <param name="program">Specifies the program object whose information log is to be queried.</param>
/// <param name="bufSize"></param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="infoLog">Specifies an array of characters that is used to return the information log.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetProgramInfoLog(uint program, uint bufSize, [In, Out] uint *length, ref byte infoLog) => glGetProgramInfoLog1(program, bufSize, length, ref infoLog);
/// <summary>
/// Returns the information log for a program object
/// </summary>
/// <param name="program">Specifies the program object whose information log is to be queried.</param>
/// <param name="bufSize"></param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="infoLog">Specifies an array of characters that is used to return the information log.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetProgramInfoLog(uint program, uint bufSize, [In, Out] uint *length, [In, Out] byte[] infoLog) => glGetProgramInfoLog2(program, bufSize, length, infoLog);
/// <summary>
/// Returns a parameter from a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be queried.</param>
/// <param name="pname">Specifies the object parameter. Accepted symbolic names are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderiv(uint shader, uint pname, [In, Out] int *parameters) => glGetShaderiv(shader, pname, parameters);
/// <summary>
/// Returns a parameter from a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be queried.</param>
/// <param name="pname">Specifies the object parameter. Accepted symbolic names are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderiv(uint shader, uint pname, ref int parameters) => glGetShaderiv1(shader, pname, ref parameters);
/// <summary>
/// Returns a parameter from a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be queried.</param>
/// <param name="pname">Specifies the object parameter. Accepted symbolic names are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderiv(uint shader, uint pname, [In, Out] int[] parameters) => glGetShaderiv2(shader, pname, parameters);
/// <summary>
/// Returns the information log for a shader object
/// </summary>
/// <param name="shader">Specifies the shader object whose information log is to be queried.</param>
/// <param name="bufSize"></param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="infoLog">Specifies an array of characters that is used to return the information log.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderInfoLog(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte *infoLog) => glGetShaderInfoLog(shader, bufSize, length, infoLog);
/// <summary>
/// Returns the information log for a shader object
/// </summary>
/// <param name="shader">Specifies the shader object whose information log is to be queried.</param>
/// <param name="bufSize"></param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="infoLog">Specifies an array of characters that is used to return the information log.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderInfoLog(uint shader, uint bufSize, [In, Out] uint *length, ref byte infoLog) => glGetShaderInfoLog1(shader, bufSize, length, ref infoLog);
/// <summary>
/// Returns the information log for a shader object
/// </summary>
/// <param name="shader">Specifies the shader object whose information log is to be queried.</param>
/// <param name="bufSize"></param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="infoLog">Specifies an array of characters that is used to return the information log.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderInfoLog(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte[] infoLog) => glGetShaderInfoLog2(shader, bufSize, length, infoLog);
/// <summary>
/// Returns the source code string from a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be queried.</param>
/// <param name="bufSize">Specifies the size of the character buffer for storing the returned source code string.</param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="source">Specifies an array of characters that is used to return the source code string.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderSource(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte *source) => glGetShaderSource(shader, bufSize, length, source);
/// <summary>
/// Returns the source code string from a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be queried.</param>
/// <param name="bufSize">Specifies the size of the character buffer for storing the returned source code string.</param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="source">Specifies an array of characters that is used to return the source code string.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderSource(uint shader, uint bufSize, [In, Out] uint *length, ref byte source) => glGetShaderSource1(shader, bufSize, length, ref source);
/// <summary>
/// Returns the source code string from a shader object
/// </summary>
/// <param name="shader">Specifies the shader object to be queried.</param>
/// <param name="bufSize">Specifies the size of the character buffer for storing the returned source code string.</param>
/// <param name="length">Returns the length of the string returned in.</param>
/// <param name="source">Specifies an array of characters that is used to return the source code string.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetShaderSource(uint shader, uint bufSize, [In, Out] uint *length, [In, Out] byte[] source) => glGetShaderSource2(shader, bufSize, length, source);
/// <summary>
/// Returns the location of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="name">Points to a null terminated string containing the name of the uniform variable whose location is to be queried.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetUniformLocation(uint program, [In] byte *name) => glGetUniformLocation(program, name);
/// <summary>
/// Returns the location of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="name">Points to a null terminated string containing the name of the uniform variable whose location is to be queried.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetUniformLocation(uint program, ref byte name) => glGetUniformLocation1(program, ref name);
/// <summary>
/// Returns the location of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="name">Points to a null terminated string containing the name of the uniform variable whose location is to be queried.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetUniformLocation(uint program, [In] byte[] name) => glGetUniformLocation2(program, name);
/// <summary>
/// Returns the value of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="location">Specifies the location of the uniform variable to be queried.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformfv(uint program, int location, [In, Out] float *parameters) => glGetUniformfv(program, location, parameters);
/// <summary>
/// Returns the value of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="location">Specifies the location of the uniform variable to be queried.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformfv(uint program, int location, ref float parameters) => glGetUniformfv1(program, location, ref parameters);
/// <summary>
/// Returns the value of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="location">Specifies the location of the uniform variable to be queried.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformfv(uint program, int location, [In, Out] float[] parameters) => glGetUniformfv2(program, location, parameters);
/// <summary>
/// Returns the value of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="location">Specifies the location of the uniform variable to be queried.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformiv(uint program, int location, [In, Out] int *parameters) => glGetUniformiv(program, location, parameters);
/// <summary>
/// Returns the value of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="location">Specifies the location of the uniform variable to be queried.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformiv(uint program, int location, ref int parameters) => glGetUniformiv1(program, location, ref parameters);
/// <summary>
/// Returns the value of a uniform variable
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="location">Specifies the location of the uniform variable to be queried.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformiv(uint program, int location, [In, Out] int[] parameters) => glGetUniformiv2(program, location, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribdv(uint index, uint pname, [In, Out] double *parameters) => glGetVertexAttribdv(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribdv(uint index, uint pname, ref double parameters) => glGetVertexAttribdv1(index, pname, ref parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribdv(uint index, uint pname, [In, Out] double[] parameters) => glGetVertexAttribdv2(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribfv(uint index, uint pname, [In, Out] float *parameters) => glGetVertexAttribfv(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribfv(uint index, uint pname, ref float parameters) => glGetVertexAttribfv1(index, pname, ref parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribfv(uint index, uint pname, [In, Out] float[] parameters) => glGetVertexAttribfv2(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribiv(uint index, uint pname, [In, Out] int *parameters) => glGetVertexAttribiv(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribiv(uint index, uint pname, ref int parameters) => glGetVertexAttribiv1(index, pname, ref parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribiv(uint index, uint pname, [In, Out] int[] parameters) => glGetVertexAttribiv2(index, pname, parameters);
/// <summary>
/// Return the address of the specified generic vertex attribute pointer
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be returned.</param>
/// <param name="pname">Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be.</param>
/// <param name="pointer">Returns the pointer value.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribPointerv(uint index, uint pname, ref IntPtr pointer) => glGetVertexAttribPointerv(index, pname, ref pointer);
/// <summary>
/// Return the address of the specified generic vertex attribute pointer
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be returned.</param>
/// <param name="pname">Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be.</param>
/// <param name="pointer">Returns the pointer value.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribPointerv(uint index, uint pname, void **pointer) => glGetVertexAttribPointerv1(index, pname, pointer);
/// <summary>
/// Determines if a name corresponds to a program object
/// </summary>
/// <param name="program">Specifies a potential program object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsProgram(uint program) => glIsProgram(program);
/// <summary>
/// Determines if a name corresponds to a shader object
/// </summary>
/// <param name="shader">Specifies a potential shader object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsShader(uint shader) => glIsShader(shader);
/// <summary>
/// Links a program object
/// </summary>
/// <param name="program">Specifies the handle of the program object to be linked.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void LinkProgram(uint program) => glLinkProgram(program);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, IntPtr str, [In] int *length) => glShaderSource(shader, count, str, length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, IntPtr str, ref int length) => glShaderSource1(shader, count, str, ref length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, IntPtr str, [In] int[] length) => glShaderSource2(shader, count, str, length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, void *str, [In] int *length) => glShaderSource3(shader, count, str, length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, void *str, ref int length) => glShaderSource4(shader, count, str, ref length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, void *str, [In] int[] length) => glShaderSource5(shader, count, str, length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, [In] IntPtr[] str, [In] int *length) => glShaderSource6(shader, count, str, length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, [In] IntPtr[] str, ref int length) => glShaderSource7(shader, count, str, ref length);
/// <summary>
/// Replaces the source code in a shader object
/// </summary>
/// <param name="shader">Specifies the handle of the shader object whose source code is to be replaced.</param>
/// <param name="count">Specifies the number of elements in the.</param>
/// <param name="str"></param>
/// <param name="length">Specifies an array of string lengths.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ShaderSource(uint shader, uint count, [In] IntPtr[] str, [In] int[] length) => glShaderSource8(shader, count, str, length);
/// <summary>
/// Installs a program object as part of current rendering state
/// </summary>
/// <param name="program">Specifies the handle of the program object whose executables are to be used as part of current rendering state.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UseProgram(uint program) => glUseProgram(program);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1f(int location, float v0) => glUniform1f(location, v0);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2f(int location, float v0, float v1) => glUniform2f(location, v0, v1);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
/// <param name="v2"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3f(int location, float v0, float v1, float v2) => glUniform3f(location, v0, v1, v2);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
/// <param name="v2"></param>
/// <param name="v3"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4f(int location, float v0, float v1, float v2, float v3) => glUniform4f(location, v0, v1, v2, v3);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1i(int location, int v0) => glUniform1i(location, v0);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2i(int location, int v0, int v1) => glUniform2i(location, v0, v1);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
/// <param name="v2"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3i(int location, int v0, int v1, int v2) => glUniform3i(location, v0, v1, v2);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
/// <param name="v2"></param>
/// <param name="v3"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4i(int location, int v0, int v1, int v2, int v3) => glUniform4i(location, v0, v1, v2, v3);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1fv(int location, uint count, [In] float *value) => glUniform1fv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1fv(int location, uint count, ref float value) => glUniform1fv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1fv(int location, uint count, [In] float[] value) => glUniform1fv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2fv(int location, uint count, [In] float *value) => glUniform2fv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2fv(int location, uint count, ref float value) => glUniform2fv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2fv(int location, uint count, [In] float[] value) => glUniform2fv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3fv(int location, uint count, [In] float *value) => glUniform3fv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3fv(int location, uint count, ref float value) => glUniform3fv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3fv(int location, uint count, [In] float[] value) => glUniform3fv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4fv(int location, uint count, [In] float *value) => glUniform4fv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4fv(int location, uint count, ref float value) => glUniform4fv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4fv(int location, uint count, [In] float[] value) => glUniform4fv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1iv(int location, uint count, [In] int *value) => glUniform1iv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1iv(int location, uint count, ref int value) => glUniform1iv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1iv(int location, uint count, [In] int[] value) => glUniform1iv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2iv(int location, uint count, [In] int *value) => glUniform2iv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2iv(int location, uint count, ref int value) => glUniform2iv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2iv(int location, uint count, [In] int[] value) => glUniform2iv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3iv(int location, uint count, [In] int *value) => glUniform3iv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3iv(int location, uint count, ref int value) => glUniform3iv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3iv(int location, uint count, [In] int[] value) => glUniform3iv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4iv(int location, uint count, [In] int *value) => glUniform4iv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4iv(int location, uint count, ref int value) => glUniform4iv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4iv(int location, uint count, [In] int[] value) => glUniform4iv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix2fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix2fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix2fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix3fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix3fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix3fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix4fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix4fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix4fv2(location, count, transpose, value);
/// <summary>
/// Validates a program object
/// </summary>
/// <param name="program">Specifies the handle of the program object to be validated.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ValidateProgram(uint program) => glValidateProgram(program);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1d(uint index, double x) => glVertexAttrib1d(index, x);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1dv(uint index, [In] double *v) => glVertexAttrib1dv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1dv(uint index, ref double v) => glVertexAttrib1dv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1dv(uint index, [In] double[] v) => glVertexAttrib1dv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1f(uint index, float x) => glVertexAttrib1f(index, x);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1fv(uint index, [In] float *v) => glVertexAttrib1fv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1fv(uint index, ref float v) => glVertexAttrib1fv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1fv(uint index, [In] float[] v) => glVertexAttrib1fv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1s(uint index, short x) => glVertexAttrib1s(index, x);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1sv(uint index, [In] short *v) => glVertexAttrib1sv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1sv(uint index, ref short v) => glVertexAttrib1sv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib1sv(uint index, [In] short[] v) => glVertexAttrib1sv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2d(uint index, double x, double y) => glVertexAttrib2d(index, x, y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2dv(uint index, [In] double *v) => glVertexAttrib2dv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2dv(uint index, ref double v) => glVertexAttrib2dv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2dv(uint index, [In] double[] v) => glVertexAttrib2dv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2f(uint index, float x, float y) => glVertexAttrib2f(index, x, y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2fv(uint index, [In] float *v) => glVertexAttrib2fv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2fv(uint index, ref float v) => glVertexAttrib2fv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2fv(uint index, [In] float[] v) => glVertexAttrib2fv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2s(uint index, short x, short y) => glVertexAttrib2s(index, x, y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2sv(uint index, [In] short *v) => glVertexAttrib2sv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2sv(uint index, ref short v) => glVertexAttrib2sv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib2sv(uint index, [In] short[] v) => glVertexAttrib2sv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3d(uint index, double x, double y, double z) => glVertexAttrib3d(index, x, y, z);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3dv(uint index, [In] double *v) => glVertexAttrib3dv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3dv(uint index, ref double v) => glVertexAttrib3dv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3dv(uint index, [In] double[] v) => glVertexAttrib3dv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3f(uint index, float x, float y, float z) => glVertexAttrib3f(index, x, y, z);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3fv(uint index, [In] float *v) => glVertexAttrib3fv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3fv(uint index, ref float v) => glVertexAttrib3fv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3fv(uint index, [In] float[] v) => glVertexAttrib3fv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3s(uint index, short x, short y, short z) => glVertexAttrib3s(index, x, y, z);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3sv(uint index, [In] short *v) => glVertexAttrib3sv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3sv(uint index, ref short v) => glVertexAttrib3sv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib3sv(uint index, [In] short[] v) => glVertexAttrib3sv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nbv(uint index, [In] sbyte *v) => glVertexAttrib4Nbv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nbv(uint index, ref sbyte v) => glVertexAttrib4Nbv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nbv(uint index, [In] byte[] v) => glVertexAttrib4Nbv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Niv(uint index, [In] int *v) => glVertexAttrib4Niv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Niv(uint index, ref int v) => glVertexAttrib4Niv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Niv(uint index, [In] int[] v) => glVertexAttrib4Niv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nsv(uint index, [In] short *v) => glVertexAttrib4Nsv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nsv(uint index, ref short v) => glVertexAttrib4Nsv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nsv(uint index, [In] short[] v) => glVertexAttrib4Nsv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nub(uint index, byte x, byte y, byte z, byte w) => glVertexAttrib4Nub(index, x, y, z, w);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nubv(uint index, [In] byte *v) => glVertexAttrib4Nubv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nubv(uint index, ref byte v) => glVertexAttrib4Nubv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nubv(uint index, [In] byte[] v) => glVertexAttrib4Nubv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nuiv(uint index, [In] uint *v) => glVertexAttrib4Nuiv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nuiv(uint index, ref uint v) => glVertexAttrib4Nuiv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nuiv(uint index, [In] uint[] v) => glVertexAttrib4Nuiv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nusv(uint index, [In] ushort *v) => glVertexAttrib4Nusv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nusv(uint index, ref ushort v) => glVertexAttrib4Nusv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4Nusv(uint index, [In] ushort[] v) => glVertexAttrib4Nusv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4bv(uint index, [In] sbyte *v) => glVertexAttrib4bv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4bv(uint index, ref sbyte v) => glVertexAttrib4bv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4bv(uint index, [In] byte[] v) => glVertexAttrib4bv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4d(uint index, double x, double y, double z, double w) => glVertexAttrib4d(index, x, y, z, w);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4dv(uint index, [In] double *v) => glVertexAttrib4dv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4dv(uint index, ref double v) => glVertexAttrib4dv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4dv(uint index, [In] double[] v) => glVertexAttrib4dv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4f(uint index, float x, float y, float z, float w) => glVertexAttrib4f(index, x, y, z, w);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4fv(uint index, [In] float *v) => glVertexAttrib4fv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4fv(uint index, ref float v) => glVertexAttrib4fv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4fv(uint index, [In] float[] v) => glVertexAttrib4fv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4iv(uint index, [In] int *v) => glVertexAttrib4iv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4iv(uint index, ref int v) => glVertexAttrib4iv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4iv(uint index, [In] int[] v) => glVertexAttrib4iv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4s(uint index, short x, short y, short z, short w) => glVertexAttrib4s(index, x, y, z, w);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4sv(uint index, [In] short *v) => glVertexAttrib4sv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4sv(uint index, ref short v) => glVertexAttrib4sv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4sv(uint index, [In] short[] v) => glVertexAttrib4sv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4ubv(uint index, [In] byte *v) => glVertexAttrib4ubv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4ubv(uint index, ref byte v) => glVertexAttrib4ubv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4ubv(uint index, [In] byte[] v) => glVertexAttrib4ubv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4uiv(uint index, [In] uint *v) => glVertexAttrib4uiv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4uiv(uint index, ref uint v) => glVertexAttrib4uiv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4uiv(uint index, [In] uint[] v) => glVertexAttrib4uiv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4usv(uint index, [In] ushort *v) => glVertexAttrib4usv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4usv(uint index, ref ushort v) => glVertexAttrib4usv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttrib4usv(uint index, [In] ushort[] v) => glVertexAttrib4usv2(index, v);
/// <summary>
/// Define an array of generic vertex attribute data
/// </summary>
/// <param name="index">Specifies the index of the generic vertex attribute to be modified.</param>
/// <param name="size">Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, 4. Additionally, the symbolic constant.</param>
/// <param name="type">Specifies the data type of each component in the array. The symbolic constants.</param>
/// <param name="normalized">For.</param>
/// <param name="stride">Specifies the byte offset between consecutive generic vertex attributes. If.</param>
/// <param name="pointer">Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of the buffer currently bound to the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribPointer(uint index, int size, uint type, bool normalized, uint stride, IntPtr pointer) => glVertexAttribPointer(index, size, type, normalized, stride, pointer);
/// <summary>
/// Define an array of generic vertex attribute data
/// </summary>
/// <param name="index">Specifies the index of the generic vertex attribute to be modified.</param>
/// <param name="size">Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, 4. Additionally, the symbolic constant.</param>
/// <param name="type">Specifies the data type of each component in the array. The symbolic constants.</param>
/// <param name="normalized">For.</param>
/// <param name="stride">Specifies the byte offset between consecutive generic vertex attributes. If.</param>
/// <param name="pointer">Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of the buffer currently bound to the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribPointer(uint index, int size, uint type, bool normalized, uint stride, void *pointer) => glVertexAttribPointer1(index, size, type, normalized, stride, pointer);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2x3fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix2x3fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2x3fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix2x3fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2x3fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix2x3fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3x2fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix3x2fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3x2fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix3x2fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3x2fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix3x2fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2x4fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix2x4fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2x4fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix2x4fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix2x4fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix2x4fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4x2fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix4x2fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4x2fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix4x2fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4x2fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix4x2fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3x4fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix3x4fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3x4fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix3x4fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix3x4fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix3x4fv2(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4x3fv(int location, uint count, bool transpose, [In] float *value) => glUniformMatrix4x3fv(location, count, transpose, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4x3fv(int location, uint count, bool transpose, ref float value) => glUniformMatrix4x3fv1(location, count, transpose, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="transpose">For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformMatrix4x3fv(int location, uint count, bool transpose, [In] float[] value) => glUniformMatrix4x3fv2(location, count, transpose, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ColorMaski(uint index, bool r, bool g, bool b, bool a) => glColorMaski(index, r, g, b, a);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBooleani_v(uint target, uint index, [In, Out] bool *data) => glGetBooleani_v(target, index, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBooleani_v(uint target, uint index, ref bool data) => glGetBooleani_v1(target, index, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBooleani_v(uint target, uint index, [In, Out] bool[] data) => glGetBooleani_v2(target, index, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Enablei(uint target, uint index) => glEnablei(target, index);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Disablei(uint target, uint index) => glDisablei(target, index);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsEnabledi(uint target, uint index) => glIsEnabledi(target, index);
/// <summary>
/// Start transform feedback operation
/// </summary>
/// <param name="primitiveMode">Specify the output type of the primitives that will be recorded into the buffer objects that are bound for transform feedback.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BeginTransformFeedback(uint primitiveMode) => glBeginTransformFeedback(primitiveMode);
/// <summary>
/// Specify values to record in transform feedback buffers
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="count">The number of varying variables used for transform feedback.</param>
/// <param name="varyings">An array of.</param>
/// <param name="bufferMode">Identifies the mode used to capture the varying variables when transform feedback is active.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TransformFeedbackVaryings(uint program, uint count, IntPtr varyings, uint bufferMode) => glTransformFeedbackVaryings(program, count, varyings, bufferMode);
/// <summary>
/// Specify values to record in transform feedback buffers
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="count">The number of varying variables used for transform feedback.</param>
/// <param name="varyings">An array of.</param>
/// <param name="bufferMode">Identifies the mode used to capture the varying variables when transform feedback is active.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TransformFeedbackVaryings(uint program, uint count, void *varyings, uint bufferMode) => glTransformFeedbackVaryings1(program, count, varyings, bufferMode);
/// <summary>
/// Specify values to record in transform feedback buffers
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="count">The number of varying variables used for transform feedback.</param>
/// <param name="varyings">An array of.</param>
/// <param name="bufferMode">Identifies the mode used to capture the varying variables when transform feedback is active.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TransformFeedbackVaryings(uint program, uint count, [In] IntPtr[] varyings, uint bufferMode) => glTransformFeedbackVaryings2(program, count, varyings, bufferMode);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint *type, [In, Out] byte *name) => glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint *type, ref byte name) => glGetTransformFeedbackVarying1(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint *type, [In, Out] byte[] name) => glGetTransformFeedbackVarying2(program, index, bufSize, length, size, type, name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, ref uint type, [In, Out] byte *name) => glGetTransformFeedbackVarying3(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, ref uint type, ref byte name) => glGetTransformFeedbackVarying4(program, index, bufSize, length, size, ref type, ref name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, ref uint type, [In, Out] byte[] name) => glGetTransformFeedbackVarying5(program, index, bufSize, length, size, ref type, name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint[] type, [In, Out] byte *name) => glGetTransformFeedbackVarying6(program, index, bufSize, length, size, type, name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint[] type, ref byte name) => glGetTransformFeedbackVarying7(program, index, bufSize, length, size, type, ref name);
/// <summary>
/// Retrieve information about varying variables selected for transform feedback
/// </summary>
/// <param name="program">The name of the target program object.</param>
/// <param name="index">The index of the varying variable whose information to retrieve.</param>
/// <param name="bufSize">The maximum number of characters, including the null terminator, that may be written into.</param>
/// <param name="length">The address of a variable which will receive the number of characters written into.</param>
/// <param name="size">The address of a variable that will receive the size of the varying.</param>
/// <param name="type">The address of a variable that will receive the type of the varying.</param>
/// <param name="name">The address of a buffer into which will be written the name of the varying.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTransformFeedbackVarying(uint program, uint index, uint bufSize, [In, Out] uint *length, [In, Out] uint *size, [In, Out] uint[] type, [In, Out] byte[] name) => glGetTransformFeedbackVarying8(program, index, bufSize, length, size, type, name);
/// <summary>
/// Specify whether data read via
/// </summary>
/// <param name="target">Target for color clamping.</param>
/// <param name="clamp">Specifies whether to apply color clamping.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClampColor(uint target, uint clamp) => glClampColor(target, clamp);
/// <summary>
/// Start conditional rendering
/// </summary>
/// <param name="id">Specifies the name of an occlusion query object whose results are used to determine if the rendering commands are discarded.</param>
/// <param name="mode">Specifies how.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BeginConditionalRender(uint id, uint mode) => glBeginConditionalRender(id, mode);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribIPointer(uint index, int size, uint type, uint stride, IntPtr pointer) => glVertexAttribIPointer(index, size, type, stride, pointer);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribIPointer(uint index, int size, uint type, uint stride, void *pointer) => glVertexAttribIPointer1(index, size, type, stride, pointer);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribIiv(uint index, uint pname, [In, Out] int *parameters) => glGetVertexAttribIiv(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribIiv(uint index, uint pname, ref int parameters) => glGetVertexAttribIiv1(index, pname, ref parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribIiv(uint index, uint pname, [In, Out] int[] parameters) => glGetVertexAttribIiv2(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribIuiv(uint index, uint pname, [In, Out] uint *parameters) => glGetVertexAttribIuiv(index, pname, parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribIuiv(uint index, uint pname, ref uint parameters) => glGetVertexAttribIuiv1(index, pname, ref parameters);
/// <summary>
/// Return a generic vertex attribute parameter
/// </summary>
/// <param name="index">Specifies the generic vertex attribute parameter to be queried.</param>
/// <param name="pname">Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetVertexAttribIuiv(uint index, uint pname, [In, Out] uint[] parameters) => glGetVertexAttribIuiv2(index, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1i(uint index, int x) => glVertexAttribI1i(index, x);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2i(uint index, int x, int y) => glVertexAttribI2i(index, x, y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3i(uint index, int x, int y, int z) => glVertexAttribI3i(index, x, y, z);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4i(uint index, int x, int y, int z, int w) => glVertexAttribI4i(index, x, y, z, w);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1ui(uint index, uint x) => glVertexAttribI1ui(index, x);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2ui(uint index, uint x, uint y) => glVertexAttribI2ui(index, x, y);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3ui(uint index, uint x, uint y, uint z) => glVertexAttribI3ui(index, x, y, z);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4ui(uint index, uint x, uint y, uint z, uint w) => glVertexAttribI4ui(index, x, y, z, w);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1iv(uint index, [In] int *v) => glVertexAttribI1iv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1iv(uint index, ref int v) => glVertexAttribI1iv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1iv(uint index, [In] int[] v) => glVertexAttribI1iv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2iv(uint index, [In] int *v) => glVertexAttribI2iv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2iv(uint index, ref int v) => glVertexAttribI2iv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2iv(uint index, [In] int[] v) => glVertexAttribI2iv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3iv(uint index, [In] int *v) => glVertexAttribI3iv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3iv(uint index, ref int v) => glVertexAttribI3iv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3iv(uint index, [In] int[] v) => glVertexAttribI3iv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4iv(uint index, [In] int *v) => glVertexAttribI4iv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4iv(uint index, ref int v) => glVertexAttribI4iv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4iv(uint index, [In] int[] v) => glVertexAttribI4iv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1uiv(uint index, [In] uint *v) => glVertexAttribI1uiv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1uiv(uint index, ref uint v) => glVertexAttribI1uiv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI1uiv(uint index, [In] uint[] v) => glVertexAttribI1uiv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2uiv(uint index, [In] uint *v) => glVertexAttribI2uiv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2uiv(uint index, ref uint v) => glVertexAttribI2uiv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI2uiv(uint index, [In] uint[] v) => glVertexAttribI2uiv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3uiv(uint index, [In] uint *v) => glVertexAttribI3uiv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3uiv(uint index, ref uint v) => glVertexAttribI3uiv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI3uiv(uint index, [In] uint[] v) => glVertexAttribI3uiv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4uiv(uint index, [In] uint *v) => glVertexAttribI4uiv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4uiv(uint index, ref uint v) => glVertexAttribI4uiv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4uiv(uint index, [In] uint[] v) => glVertexAttribI4uiv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4bv(uint index, [In] sbyte *v) => glVertexAttribI4bv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4bv(uint index, ref sbyte v) => glVertexAttribI4bv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4bv(uint index, [In] byte[] v) => glVertexAttribI4bv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4sv(uint index, [In] short *v) => glVertexAttribI4sv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4sv(uint index, ref short v) => glVertexAttribI4sv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4sv(uint index, [In] short[] v) => glVertexAttribI4sv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4ubv(uint index, [In] byte *v) => glVertexAttribI4ubv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4ubv(uint index, ref byte v) => glVertexAttribI4ubv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4ubv(uint index, [In] byte[] v) => glVertexAttribI4ubv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4usv(uint index, [In] ushort *v) => glVertexAttribI4usv(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4usv(uint index, ref ushort v) => glVertexAttribI4usv1(index, ref v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribI4usv(uint index, [In] ushort[] v) => glVertexAttribI4usv2(index, v);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformuiv(uint program, int location, [In, Out] uint *parameters) => glGetUniformuiv(program, location, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformuiv(uint program, int location, ref uint parameters) => glGetUniformuiv1(program, location, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformuiv(uint program, int location, [In, Out] uint[] parameters) => glGetUniformuiv2(program, location, parameters);
/// <summary>
/// Bind a user-defined varying out variable to a fragment shader color number
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to modify.</param>
/// <param name="color"></param>
/// <param name="name">The name of the user-defined varying out variable whose binding to modify.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFragDataLocation(uint program, uint color, [In] byte *name) => glBindFragDataLocation(program, color, name);
/// <summary>
/// Bind a user-defined varying out variable to a fragment shader color number
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to modify.</param>
/// <param name="color"></param>
/// <param name="name">The name of the user-defined varying out variable whose binding to modify.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFragDataLocation(uint program, uint color, ref byte name) => glBindFragDataLocation1(program, color, ref name);
/// <summary>
/// Bind a user-defined varying out variable to a fragment shader color number
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to modify.</param>
/// <param name="color"></param>
/// <param name="name">The name of the user-defined varying out variable whose binding to modify.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFragDataLocation(uint program, uint color, [In] byte[] name) => glBindFragDataLocation2(program, color, name);
/// <summary>
/// Query the bindings of color numbers to user-defined varying out variables
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to query.</param>
/// <param name="name">The name of the user-defined varying out variable whose binding to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetFragDataLocation(uint program, [In] byte *name) => glGetFragDataLocation(program, name);
/// <summary>
/// Query the bindings of color numbers to user-defined varying out variables
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to query.</param>
/// <param name="name">The name of the user-defined varying out variable whose binding to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetFragDataLocation(uint program, ref byte name) => glGetFragDataLocation1(program, ref name);
/// <summary>
/// Query the bindings of color numbers to user-defined varying out variables
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to query.</param>
/// <param name="name">The name of the user-defined varying out variable whose binding to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetFragDataLocation(uint program, [In] byte[] name) => glGetFragDataLocation2(program, name);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1ui(int location, uint v0) => glUniform1ui(location, v0);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2ui(int location, uint v0, uint v1) => glUniform2ui(location, v0, v1);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
/// <param name="v2"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3ui(int location, uint v0, uint v1, uint v2) => glUniform3ui(location, v0, v1, v2);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="v0">For the scalar commands, specifies the new values to be used for the specified uniform variable.</param>
/// <param name="v1"></param>
/// <param name="v2"></param>
/// <param name="v3"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4ui(int location, uint v0, uint v1, uint v2, uint v3) => glUniform4ui(location, v0, v1, v2, v3);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1uiv(int location, uint count, [In] uint *value) => glUniform1uiv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1uiv(int location, uint count, ref uint value) => glUniform1uiv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform1uiv(int location, uint count, [In] uint[] value) => glUniform1uiv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2uiv(int location, uint count, [In] uint *value) => glUniform2uiv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2uiv(int location, uint count, ref uint value) => glUniform2uiv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform2uiv(int location, uint count, [In] uint[] value) => glUniform2uiv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3uiv(int location, uint count, [In] uint *value) => glUniform3uiv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3uiv(int location, uint count, ref uint value) => glUniform3uiv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform3uiv(int location, uint count, [In] uint[] value) => glUniform3uiv2(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4uiv(int location, uint count, [In] uint *value) => glUniform4uiv(location, count, value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4uiv(int location, uint count, ref uint value) => glUniform4uiv1(location, count, ref value);
/// <summary>
/// Specify the value of a uniform variable for the current program object
/// </summary>
/// <param name="location">Specifies the location of the uniform variable to be modified.</param>
/// <param name="count">For the vector (.</param>
/// <param name="value">For the vector and matrix commands, specifies a pointer to an array of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Uniform4uiv(int location, uint count, [In] uint[] value) => glUniform4uiv2(location, count, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterIiv(uint target, uint pname, [In] int *parameters) => glTexParameterIiv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterIiv(uint target, uint pname, ref int parameters) => glTexParameterIiv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterIiv(uint target, uint pname, [In] int[] parameters) => glTexParameterIiv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterIuiv(uint target, uint pname, [In] uint *parameters) => glTexParameterIuiv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterIuiv(uint target, uint pname, ref uint parameters) => glTexParameterIuiv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexParameterIuiv(uint target, uint pname, [In] uint[] parameters) => glTexParameterIuiv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterIiv(uint target, uint pname, [In, Out] int *parameters) => glGetTexParameterIiv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterIiv(uint target, uint pname, ref int parameters) => glGetTexParameterIiv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterIiv(uint target, uint pname, [In, Out] int[] parameters) => glGetTexParameterIiv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterIuiv(uint target, uint pname, [In, Out] uint *parameters) => glGetTexParameterIuiv(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterIuiv(uint target, uint pname, ref uint parameters) => glGetTexParameterIuiv1(target, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetTexParameterIuiv(uint target, uint pname, [In, Out] uint[] parameters) => glGetTexParameterIuiv2(target, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferiv(uint buffer, int drawbuffer, [In] int *value) => glClearBufferiv(buffer, drawbuffer, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferiv(uint buffer, int drawbuffer, ref int value) => glClearBufferiv1(buffer, drawbuffer, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferiv(uint buffer, int drawbuffer, [In] int[] value) => glClearBufferiv2(buffer, drawbuffer, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferuiv(uint buffer, int drawbuffer, [In] uint *value) => glClearBufferuiv(buffer, drawbuffer, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferuiv(uint buffer, int drawbuffer, ref uint value) => glClearBufferuiv1(buffer, drawbuffer, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferuiv(uint buffer, int drawbuffer, [In] uint[] value) => glClearBufferuiv2(buffer, drawbuffer, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferfv(uint buffer, int drawbuffer, [In] float *value) => glClearBufferfv(buffer, drawbuffer, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferfv(uint buffer, int drawbuffer, ref float value) => glClearBufferfv1(buffer, drawbuffer, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferfv(uint buffer, int drawbuffer, [In] float[] value) => glClearBufferfv2(buffer, drawbuffer, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ClearBufferfi(uint buffer, int drawbuffer, float depth, int stencil) => glClearBufferfi(buffer, drawbuffer, depth, stencil);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IntPtr GetStringi(uint name, uint index) => glGetStringi(name, index);
/// <summary>
/// Determine if a name corresponds to a renderbuffer object
/// </summary>
/// <param name="renderbuffer">Specifies a value that may be the name of a renderbuffer object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsRenderbuffer(uint renderbuffer) => glIsRenderbuffer(renderbuffer);
/// <summary>
/// Bind a renderbuffer to a renderbuffer target
/// </summary>
/// <param name="target">Specifies the renderbuffer target of the binding operation.</param>
/// <param name="renderbuffer">Specifies the name of the renderbuffer object to bind.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindRenderbuffer(uint target, uint renderbuffer) => glBindRenderbuffer(target, renderbuffer);
/// <summary>
/// Delete renderbuffer objects
/// </summary>
/// <param name="n">Specifies the number of renderbuffer objects to be deleted.</param>
/// <param name="renderbuffers">A pointer to an array containing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteRenderbuffers(uint n, [In] uint *renderbuffers) => glDeleteRenderbuffers(n, renderbuffers);
/// <summary>
/// Delete renderbuffer objects
/// </summary>
/// <param name="n">Specifies the number of renderbuffer objects to be deleted.</param>
/// <param name="renderbuffers">A pointer to an array containing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteRenderbuffers(uint n, ref uint renderbuffers) => glDeleteRenderbuffers1(n, ref renderbuffers);
/// <summary>
/// Delete renderbuffer objects
/// </summary>
/// <param name="n">Specifies the number of renderbuffer objects to be deleted.</param>
/// <param name="renderbuffers">A pointer to an array containing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteRenderbuffers(uint n, [In] uint[] renderbuffers) => glDeleteRenderbuffers2(n, renderbuffers);
/// <summary>
/// Generate renderbuffer object names
/// </summary>
/// <param name="n">Specifies the number of renderbuffer object names to generate.</param>
/// <param name="renderbuffers">Specifies an array in which the generated renderbuffer object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenRenderbuffers(uint n, [In, Out] uint *renderbuffers) => glGenRenderbuffers(n, renderbuffers);
/// <summary>
/// Generate renderbuffer object names
/// </summary>
/// <param name="n">Specifies the number of renderbuffer object names to generate.</param>
/// <param name="renderbuffers">Specifies an array in which the generated renderbuffer object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenRenderbuffers(uint n, ref uint renderbuffers) => glGenRenderbuffers1(n, ref renderbuffers);
/// <summary>
/// Generate renderbuffer object names
/// </summary>
/// <param name="n">Specifies the number of renderbuffer object names to generate.</param>
/// <param name="renderbuffers">Specifies an array in which the generated renderbuffer object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenRenderbuffers(uint n, [In, Out] uint[] renderbuffers) => glGenRenderbuffers2(n, renderbuffers);
/// <summary>
/// Establish data storage, format and dimensions of a renderbuffer object's image
/// </summary>
/// <param name="target">Specifies a binding target of the allocation for.</param>
/// <param name="internalformat">Specifies the internal format to use for the renderbuffer object's image.</param>
/// <param name="width">Specifies the width of the renderbuffer, in pixels.</param>
/// <param name="height">Specifies the height of the renderbuffer, in pixels.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void RenderbufferStorage(uint target, uint internalformat, uint width, uint height) => glRenderbufferStorage(target, internalformat, width, height);
/// <summary>
/// Retrieve information about a bound renderbuffer object
/// </summary>
/// <param name="target">Specifies the target of the query operation.</param>
/// <param name="pname">Specifies the parameter whose value to retrieve from the renderbuffer bound to.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetRenderbufferParameteriv(uint target, uint pname, [In, Out] int *parameters) => glGetRenderbufferParameteriv(target, pname, parameters);
/// <summary>
/// Retrieve information about a bound renderbuffer object
/// </summary>
/// <param name="target">Specifies the target of the query operation.</param>
/// <param name="pname">Specifies the parameter whose value to retrieve from the renderbuffer bound to.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetRenderbufferParameteriv(uint target, uint pname, ref int parameters) => glGetRenderbufferParameteriv1(target, pname, ref parameters);
/// <summary>
/// Retrieve information about a bound renderbuffer object
/// </summary>
/// <param name="target">Specifies the target of the query operation.</param>
/// <param name="pname">Specifies the parameter whose value to retrieve from the renderbuffer bound to.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetRenderbufferParameteriv(uint target, uint pname, [In, Out] int[] parameters) => glGetRenderbufferParameteriv2(target, pname, parameters);
/// <summary>
/// Determine if a name corresponds to a framebuffer object
/// </summary>
/// <param name="framebuffer">Specifies a value that may be the name of a framebuffer object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsFramebuffer(uint framebuffer) => glIsFramebuffer(framebuffer);
/// <summary>
/// Bind a framebuffer to a framebuffer target
/// </summary>
/// <param name="target">Specifies the framebuffer target of the binding operation.</param>
/// <param name="framebuffer">Specifies the name of the framebuffer object to bind.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFramebuffer(uint target, uint framebuffer) => glBindFramebuffer(target, framebuffer);
/// <summary>
/// Delete framebuffer objects
/// </summary>
/// <param name="n">Specifies the number of framebuffer objects to be deleted.</param>
/// <param name="framebuffers">A pointer to an array containing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteFramebuffers(uint n, [In] uint *framebuffers) => glDeleteFramebuffers(n, framebuffers);
/// <summary>
/// Delete framebuffer objects
/// </summary>
/// <param name="n">Specifies the number of framebuffer objects to be deleted.</param>
/// <param name="framebuffers">A pointer to an array containing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteFramebuffers(uint n, ref uint framebuffers) => glDeleteFramebuffers1(n, ref framebuffers);
/// <summary>
/// Delete framebuffer objects
/// </summary>
/// <param name="n">Specifies the number of framebuffer objects to be deleted.</param>
/// <param name="framebuffers">A pointer to an array containing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteFramebuffers(uint n, [In] uint[] framebuffers) => glDeleteFramebuffers2(n, framebuffers);
/// <summary>
/// Generate framebuffer object names
/// </summary>
/// <param name="n">Specifies the number of framebuffer object names to generate.</param>
/// <param name="framebuffers"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenFramebuffers(uint n, [In, Out] uint *framebuffers) => glGenFramebuffers(n, framebuffers);
/// <summary>
/// Generate framebuffer object names
/// </summary>
/// <param name="n">Specifies the number of framebuffer object names to generate.</param>
/// <param name="framebuffers"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenFramebuffers(uint n, ref uint framebuffers) => glGenFramebuffers1(n, ref framebuffers);
/// <summary>
/// Generate framebuffer object names
/// </summary>
/// <param name="n">Specifies the number of framebuffer object names to generate.</param>
/// <param name="framebuffers"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenFramebuffers(uint n, [In, Out] uint[] framebuffers) => glGenFramebuffers2(n, framebuffers);
/// <summary>
/// Check the completeness status of a framebuffer
/// </summary>
/// <param name="target">Specify the target to which the framebuffer is bound for.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint CheckFramebufferStatus(uint target) => glCheckFramebufferStatus(target);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FramebufferTexture1D(uint target, uint attachment, uint textarget, uint texture, int level) => glFramebufferTexture1D(target, attachment, textarget, texture, level);
/// <summary>
/// Attach a level of a texture object as a logical buffer to the currently bound framebuffer object
/// </summary>
/// <param name="target">Specifies the framebuffer target.</param>
/// <param name="attachment">Specifies the attachment point of the framebuffer.</param>
/// <param name="textarget">Specifies a 2D texture target, 2D multisample texture target, or for cube map textures, which face is to be attached.</param>
/// <param name="texture">Specifies the texture object to attach to the framebuffer attachment point named by.</param>
/// <param name="level">Specifies the mipmap level of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FramebufferTexture2D(uint target, uint attachment, uint textarget, uint texture, int level) => glFramebufferTexture2D(target, attachment, textarget, texture, level);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FramebufferTexture3D(uint target, uint attachment, uint textarget, uint texture, int level, int zoffset) => glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
/// <summary>
/// Attach a renderbuffer as a logical buffer of a framebuffer object
/// </summary>
/// <param name="target">Specifies the target to which the framebuffer is bound for.</param>
/// <param name="attachment">Specifies the attachment point of the framebuffer.</param>
/// <param name="renderbuffertarget">Specifies the renderbuffer target. Must be.</param>
/// <param name="renderbuffer">Specifies the name of an existing renderbuffer object of type.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FramebufferRenderbuffer(uint target, uint attachment, uint renderbuffertarget, uint renderbuffer) => glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
/// <summary>
/// Retrieve information about attachments of a bound framebuffer object
/// </summary>
/// <param name="target">Specifies the target of the query operation.</param>
/// <param name="attachment">Specifies the attachment within.</param>
/// <param name="pname">Specifies the parameter of.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetFramebufferAttachmentParameteriv(uint target, uint attachment, uint pname, [In, Out] int *parameters) => glGetFramebufferAttachmentParameteriv(target, attachment, pname, parameters);
/// <summary>
/// Retrieve information about attachments of a bound framebuffer object
/// </summary>
/// <param name="target">Specifies the target of the query operation.</param>
/// <param name="attachment">Specifies the attachment within.</param>
/// <param name="pname">Specifies the parameter of.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetFramebufferAttachmentParameteriv(uint target, uint attachment, uint pname, ref int parameters) => glGetFramebufferAttachmentParameteriv1(target, attachment, pname, ref parameters);
/// <summary>
/// Retrieve information about attachments of a bound framebuffer object
/// </summary>
/// <param name="target">Specifies the target of the query operation.</param>
/// <param name="attachment">Specifies the attachment within.</param>
/// <param name="pname">Specifies the parameter of.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetFramebufferAttachmentParameteriv(uint target, uint attachment, uint pname, [In, Out] int[] parameters) => glGetFramebufferAttachmentParameteriv2(target, attachment, pname, parameters);
/// <summary>
/// Generate mipmaps for a specified texture object
/// </summary>
/// <param name="target">Specifies the target to which the texture object is bound for.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenerateMipmap(uint target) => glGenerateMipmap(target);
/// <summary>
/// Copy a block of pixels from one framebuffer object to another
/// </summary>
/// <param name="srcX0">Specify the bounds of the source rectangle within the read buffer of the read framebuffer.</param>
/// <param name="srcY0"></param>
/// <param name="srcX1"></param>
/// <param name="srcY1"></param>
/// <param name="dstX0">Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.</param>
/// <param name="dstY0"></param>
/// <param name="dstX1"></param>
/// <param name="dstY1"></param>
/// <param name="mask">The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are.</param>
/// <param name="filter">Specifies the interpolation to be applied if the image is stretched. Must be.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) => glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
/// <summary>
/// Establish data storage, format, dimensions and sample count of a renderbuffer object's image
/// </summary>
/// <param name="target">Specifies a binding target of the allocation for.</param>
/// <param name="samples">Specifies the number of samples to be used for the renderbuffer object's storage.</param>
/// <param name="internalformat">Specifies the internal format to use for the renderbuffer object's image.</param>
/// <param name="width">Specifies the width of the renderbuffer, in pixels.</param>
/// <param name="height">Specifies the height of the renderbuffer, in pixels.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void RenderbufferStorageMultisample(uint target, uint samples, uint internalformat, uint width, uint height) => glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
/// <summary>
/// Attach a single layer of a texture object as a logical buffer of a framebuffer object
/// </summary>
/// <param name="target">Specifies the target to which the framebuffer is bound for.</param>
/// <param name="attachment">Specifies the attachment point of the framebuffer.</param>
/// <param name="texture">Specifies the name of an existing texture object to attach.</param>
/// <param name="level">Specifies the mipmap level of the texture object to attach.</param>
/// <param name="layer">Specifies the layer of the texture object to attach.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FramebufferTextureLayer(uint target, uint attachment, uint texture, int level, int layer) => glFramebufferTextureLayer(target, attachment, texture, level, layer);
/// <summary>
/// Map all or part of a buffer object's data store into the client's address space
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="offset">Specifies the starting offset within the buffer of the range to be mapped.</param>
/// <param name="length">Specifies the length of the range to be mapped.</param>
/// <param name="access">Specifies a combination of access flags indicating the desired access to the mapped range.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IntPtr MapBufferRange(uint target, IntPtr offset, IntPtr length, uint access) => glMapBufferRange(target, offset, length, access);
/// <summary>
/// Indicate modifications to a range of a mapped buffer
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="offset">Specifies the start of the buffer subrange, in basic machine units.</param>
/// <param name="length">Specifies the length of the buffer subrange, in basic machine units.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FlushMappedBufferRange(uint target, IntPtr offset, IntPtr length) => glFlushMappedBufferRange(target, offset, length);
/// <summary>
/// Bind a vertex array object
/// </summary>
/// <param name="array">Specifies the name of the vertex array to bind.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindVertexArray(uint array) => glBindVertexArray(array);
/// <summary>
/// Delete vertex array objects
/// </summary>
/// <param name="n">Specifies the number of vertex array objects to be deleted.</param>
/// <param name="arrays">Specifies the address of an array containing the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteVertexArrays(uint n, [In] uint *arrays) => glDeleteVertexArrays(n, arrays);
/// <summary>
/// Delete vertex array objects
/// </summary>
/// <param name="n">Specifies the number of vertex array objects to be deleted.</param>
/// <param name="arrays">Specifies the address of an array containing the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteVertexArrays(uint n, ref uint arrays) => glDeleteVertexArrays1(n, ref arrays);
/// <summary>
/// Delete vertex array objects
/// </summary>
/// <param name="n">Specifies the number of vertex array objects to be deleted.</param>
/// <param name="arrays">Specifies the address of an array containing the.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteVertexArrays(uint n, [In] uint[] arrays) => glDeleteVertexArrays2(n, arrays);
/// <summary>
/// Generate vertex array object names
/// </summary>
/// <param name="n">Specifies the number of vertex array object names to generate.</param>
/// <param name="arrays">Specifies an array in which the generated vertex array object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenVertexArrays(uint n, [In, Out] uint *arrays) => glGenVertexArrays(n, arrays);
/// <summary>
/// Generate vertex array object names
/// </summary>
/// <param name="n">Specifies the number of vertex array object names to generate.</param>
/// <param name="arrays">Specifies an array in which the generated vertex array object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenVertexArrays(uint n, ref uint arrays) => glGenVertexArrays1(n, ref arrays);
/// <summary>
/// Generate vertex array object names
/// </summary>
/// <param name="n">Specifies the number of vertex array object names to generate.</param>
/// <param name="arrays">Specifies an array in which the generated vertex array object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenVertexArrays(uint n, [In, Out] uint[] arrays) => glGenVertexArrays2(n, arrays);
/// <summary>
/// Determine if a name corresponds to a vertex array object
/// </summary>
/// <param name="array">Specifies a value that may be the name of a vertex array object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsVertexArray(uint array) => glIsVertexArray(array);
/// <summary>
/// Draw multiple instances of a range of elements
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="first">Specifies the starting index in the enabled arrays.</param>
/// <param name="count">Specifies the number of indices to be rendered.</param>
/// <param name="instancecount">Specifies the number of instances of the specified range of indices to be rendered.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawArraysInstanced(uint mode, int first, uint count, uint instancecount) => glDrawArraysInstanced(mode, first, count, instancecount);
/// <summary>
/// Draw multiple instances of a set of elements
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="instancecount">Specifies the number of instances of the specified range of indices to be rendered.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElementsInstanced(uint mode, uint count, uint type, IntPtr indices, uint instancecount) => glDrawElementsInstanced(mode, count, type, indices, instancecount);
/// <summary>
/// Draw multiple instances of a set of elements
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="instancecount">Specifies the number of instances of the specified range of indices to be rendered.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElementsInstanced(uint mode, uint count, uint type, void *indices, uint instancecount) => glDrawElementsInstanced1(mode, count, type, indices, instancecount);
/// <summary>
/// Attach a buffer object's data store to a buffer texture object
/// </summary>
/// <param name="target">Specifies the target to which the texture is bound for.</param>
/// <param name="internalformat">Specifies the internal format of the data in the store belonging to.</param>
/// <param name="buffer">Specifies the name of the buffer object whose storage to attach to the active buffer texture.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexBuffer(uint target, uint internalformat, uint buffer) => glTexBuffer(target, internalformat, buffer);
/// <summary>
/// Specify the primitive restart index
/// </summary>
/// <param name="index">Specifies the value to be interpreted as the primitive restart index.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void PrimitiveRestartIndex(uint index) => glPrimitiveRestartIndex(index);
/// <summary>
/// Copy all or part of the data store of a buffer object to the data store of another buffer object
/// </summary>
/// <param name="readTarget">Specifies the target to which the source buffer object is bound for.</param>
/// <param name="writeTarget">Specifies the target to which the destination buffer object is bound for.</param>
/// <param name="readOffset">Specifies the offset, in basic machine units, within the data store of the source buffer object at which data will be read.</param>
/// <param name="writeOffset">Specifies the offset, in basic machine units, within the data store of the destination buffer object at which data will be written.</param>
/// <param name="size">Specifies the size, in basic machine units, of the data to be copied from the source buffer object to the destination buffer object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void CopyBufferSubData(uint readTarget, uint writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size) => glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, IntPtr uniformNames, [In, Out] uint *uniformIndices) => glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, IntPtr uniformNames, ref uint uniformIndices) => glGetUniformIndices1(program, uniformCount, uniformNames, ref uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, IntPtr uniformNames, [In, Out] uint[] uniformIndices) => glGetUniformIndices2(program, uniformCount, uniformNames, uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, void *uniformNames, [In, Out] uint *uniformIndices) => glGetUniformIndices3(program, uniformCount, uniformNames, uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, void *uniformNames, ref uint uniformIndices) => glGetUniformIndices4(program, uniformCount, uniformNames, ref uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, void *uniformNames, [In, Out] uint[] uniformIndices) => glGetUniformIndices5(program, uniformCount, uniformNames, uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, [In] IntPtr[] uniformNames, [In, Out] uint *uniformIndices) => glGetUniformIndices6(program, uniformCount, uniformNames, uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, [In] IntPtr[] uniformNames, ref uint uniformIndices) => glGetUniformIndices7(program, uniformCount, uniformNames, ref uniformIndices);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing uniforms whose indices to query.</param>
/// <param name="uniformCount">Specifies the number of uniforms whose indices to query.</param>
/// <param name="uniformNames">Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.</param>
/// <param name="uniformIndices">Specifies the address of an array that will receive the indices of the uniforms.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetUniformIndices(uint program, uint uniformCount, [In] IntPtr[] uniformNames, [In, Out] uint[] uniformIndices) => glGetUniformIndices8(program, uniformCount, uniformNames, uniformIndices);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, [In] uint *uniformIndices, uint pname, [In, Out] int *parameters) => glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, [In] uint *uniformIndices, uint pname, ref int parameters) => glGetActiveUniformsiv1(program, uniformCount, uniformIndices, pname, ref parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, [In] uint *uniformIndices, uint pname, [In, Out] int[] parameters) => glGetActiveUniformsiv2(program, uniformCount, uniformIndices, pname, parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, ref uint uniformIndices, uint pname, [In, Out] int *parameters) => glGetActiveUniformsiv3(program, uniformCount, ref uniformIndices, pname, parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, ref uint uniformIndices, uint pname, ref int parameters) => glGetActiveUniformsiv4(program, uniformCount, ref uniformIndices, pname, ref parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, ref uint uniformIndices, uint pname, [In, Out] int[] parameters) => glGetActiveUniformsiv5(program, uniformCount, ref uniformIndices, pname, parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, [In] uint[] uniformIndices, uint pname, [In, Out] int *parameters) => glGetActiveUniformsiv6(program, uniformCount, uniformIndices, pname, parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, [In] uint[] uniformIndices, uint pname, ref int parameters) => glGetActiveUniformsiv7(program, uniformCount, uniformIndices, pname, ref parameters);
/// <summary>
/// Returns information about several active uniform variables for the specified program object
/// </summary>
/// <param name="program">Specifies the program object to be queried.</param>
/// <param name="uniformCount">Specifies both the number of elements in the array of indices.</param>
/// <param name="uniformIndices">Specifies the address of an array of.</param>
/// <param name="pname">Specifies the property of each uniform in.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformsiv(uint program, uint uniformCount, [In] uint[] uniformIndices, uint pname, [In, Out] int[] parameters) => glGetActiveUniformsiv8(program, uniformCount, uniformIndices, pname, parameters);
/// <summary>
/// Query the name of an active uniform
/// </summary>
/// <param name="program">Specifies the program containing the active uniform index.</param>
/// <param name="uniformIndex">Specifies the index of the active uniform whose name to query.</param>
/// <param name="bufSize">Specifies the size of the buffer, in units of.</param>
/// <param name="length">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.</param>
/// <param name="uniformName">Specifies the address of a buffer into which the GL will place the name of the active uniform at.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformName(uint program, uint uniformIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte *uniformName) => glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
/// <summary>
/// Query the name of an active uniform
/// </summary>
/// <param name="program">Specifies the program containing the active uniform index.</param>
/// <param name="uniformIndex">Specifies the index of the active uniform whose name to query.</param>
/// <param name="bufSize">Specifies the size of the buffer, in units of.</param>
/// <param name="length">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.</param>
/// <param name="uniformName">Specifies the address of a buffer into which the GL will place the name of the active uniform at.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformName(uint program, uint uniformIndex, uint bufSize, [In, Out] uint *length, ref byte uniformName) => glGetActiveUniformName1(program, uniformIndex, bufSize, length, ref uniformName);
/// <summary>
/// Query the name of an active uniform
/// </summary>
/// <param name="program">Specifies the program containing the active uniform index.</param>
/// <param name="uniformIndex">Specifies the index of the active uniform whose name to query.</param>
/// <param name="bufSize">Specifies the size of the buffer, in units of.</param>
/// <param name="length">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.</param>
/// <param name="uniformName">Specifies the address of a buffer into which the GL will place the name of the active uniform at.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformName(uint program, uint uniformIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte[] uniformName) => glGetActiveUniformName2(program, uniformIndex, bufSize, length, uniformName);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockName">Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint GetUniformBlockIndex(uint program, [In] byte *uniformBlockName) => glGetUniformBlockIndex(program, uniformBlockName);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockName">Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint GetUniformBlockIndex(uint program, ref byte uniformBlockName) => glGetUniformBlockIndex1(program, ref uniformBlockName);
/// <summary>
/// Retrieve the index of a named uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockName">Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint GetUniformBlockIndex(uint program, [In] byte[] uniformBlockName) => glGetUniformBlockIndex2(program, uniformBlockName);
/// <summary>
/// Query information about an active uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockIndex">Specifies the index of the uniform block within.</param>
/// <param name="pname">Specifies the name of the parameter to query.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformBlockiv(uint program, uint uniformBlockIndex, uint pname, [In, Out] int *parameters) => glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, parameters);
/// <summary>
/// Query information about an active uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockIndex">Specifies the index of the uniform block within.</param>
/// <param name="pname">Specifies the name of the parameter to query.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformBlockiv(uint program, uint uniformBlockIndex, uint pname, ref int parameters) => glGetActiveUniformBlockiv1(program, uniformBlockIndex, pname, ref parameters);
/// <summary>
/// Query information about an active uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockIndex">Specifies the index of the uniform block within.</param>
/// <param name="pname">Specifies the name of the parameter to query.</param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformBlockiv(uint program, uint uniformBlockIndex, uint pname, [In, Out] int[] parameters) => glGetActiveUniformBlockiv2(program, uniformBlockIndex, pname, parameters);
/// <summary>
/// Retrieve the name of an active uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockIndex">Specifies the index of the uniform block within.</param>
/// <param name="bufSize">Specifies the size of the buffer addressed by.</param>
/// <param name="length">Specifies the address of a variable to receive the number of characters that were written to.</param>
/// <param name="uniformBlockName">Specifies the address an array of characters to receive the name of the uniform block at.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformBlockName(uint program, uint uniformBlockIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte *uniformBlockName) => glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
/// <summary>
/// Retrieve the name of an active uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockIndex">Specifies the index of the uniform block within.</param>
/// <param name="bufSize">Specifies the size of the buffer addressed by.</param>
/// <param name="length">Specifies the address of a variable to receive the number of characters that were written to.</param>
/// <param name="uniformBlockName">Specifies the address an array of characters to receive the name of the uniform block at.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformBlockName(uint program, uint uniformBlockIndex, uint bufSize, [In, Out] uint *length, ref byte uniformBlockName) => glGetActiveUniformBlockName1(program, uniformBlockIndex, bufSize, length, ref uniformBlockName);
/// <summary>
/// Retrieve the name of an active uniform block
/// </summary>
/// <param name="program">Specifies the name of a program containing the uniform block.</param>
/// <param name="uniformBlockIndex">Specifies the index of the uniform block within.</param>
/// <param name="bufSize">Specifies the size of the buffer addressed by.</param>
/// <param name="length">Specifies the address of a variable to receive the number of characters that were written to.</param>
/// <param name="uniformBlockName">Specifies the address an array of characters to receive the name of the uniform block at.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetActiveUniformBlockName(uint program, uint uniformBlockIndex, uint bufSize, [In, Out] uint *length, [In, Out] byte[] uniformBlockName) => glGetActiveUniformBlockName2(program, uniformBlockIndex, bufSize, length, uniformBlockName);
/// <summary>
/// Assign a binding point to an active uniform block
/// </summary>
/// <param name="program">The name of a program object containing the active uniform block whose binding to assign.</param>
/// <param name="uniformBlockIndex">The index of the active uniform block within.</param>
/// <param name="uniformBlockBinding">Specifies the binding point to which to bind the uniform block with index.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void UniformBlockBinding(uint program, uint uniformBlockIndex, uint uniformBlockBinding) => glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
/// <summary>
/// Render primitives from array data with a per-element offset
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in indices. Must be one of.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="basevertex">Specifies a constant that should be added to each element of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElementsBaseVertex(uint mode, uint count, uint type, IntPtr indices, int basevertex) => glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
/// <summary>
/// Render primitives from array data with a per-element offset
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in indices. Must be one of.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="basevertex">Specifies a constant that should be added to each element of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElementsBaseVertex(uint mode, uint count, uint type, void *indices, int basevertex) => glDrawElementsBaseVertex1(mode, count, type, indices, basevertex);
/// <summary>
/// Render primitives from array data with a per-element offset
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="start">Specifies the minimum array index contained in.</param>
/// <param name="end">Specifies the maximum array index contained in.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in indices. Must be one of.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="basevertex">Specifies a constant that should be added to each element of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, uint count, uint type, IntPtr indices, int basevertex) => glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
/// <summary>
/// Render primitives from array data with a per-element offset
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="start">Specifies the minimum array index contained in.</param>
/// <param name="end">Specifies the maximum array index contained in.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in indices. Must be one of.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="basevertex">Specifies a constant that should be added to each element of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, uint count, uint type, void *indices, int basevertex) => glDrawRangeElementsBaseVertex1(mode, start, end, count, type, indices, basevertex);
/// <summary>
/// Render multiple instances of a set of primitives from array data with a per-element offset
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in indices. Must be one of.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="instancecount">Specifies the number of instances of the indexed geometry that should be drawn.</param>
/// <param name="basevertex">Specifies a constant that should be added to each element of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElementsInstancedBaseVertex(uint mode, uint count, uint type, IntPtr indices, uint instancecount, int basevertex) => glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
/// <summary>
/// Render multiple instances of a set of primitives from array data with a per-element offset
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Specifies the number of elements to be rendered.</param>
/// <param name="type">Specifies the type of the values in indices. Must be one of.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="instancecount">Specifies the number of instances of the indexed geometry that should be drawn.</param>
/// <param name="basevertex">Specifies a constant that should be added to each element of.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DrawElementsInstancedBaseVertex(uint mode, uint count, uint type, void *indices, uint instancecount, int basevertex) => glDrawElementsInstancedBaseVertex1(mode, count, type, indices, instancecount, basevertex);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
/// <param name="basevertex">Specifies a pointer to the location where the base vertices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElementsBaseVertex(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount, [In] int *basevertex) => glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
/// <param name="basevertex">Specifies a pointer to the location where the base vertices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElementsBaseVertex(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount, ref int basevertex) => glMultiDrawElementsBaseVertex1(mode, count, type, indices, drawcount, ref basevertex);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
/// <param name="basevertex">Specifies a pointer to the location where the base vertices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElementsBaseVertex(uint mode, [In] uint *count, uint type, IntPtr indices, uint drawcount, [In] int[] basevertex) => glMultiDrawElementsBaseVertex2(mode, count, type, indices, drawcount, basevertex);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
/// <param name="basevertex">Specifies a pointer to the location where the base vertices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElementsBaseVertex(uint mode, [In] uint *count, uint type, void *indices, uint drawcount, [In] int *basevertex) => glMultiDrawElementsBaseVertex3(mode, count, type, indices, drawcount, basevertex);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
/// <param name="basevertex">Specifies a pointer to the location where the base vertices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElementsBaseVertex(uint mode, [In] uint *count, uint type, void *indices, uint drawcount, ref int basevertex) => glMultiDrawElementsBaseVertex4(mode, count, type, indices, drawcount, ref basevertex);
/// <summary>
/// Render multiple sets of primitives by specifying indices of array data elements and an index to apply to each index
/// </summary>
/// <param name="mode">Specifies what kind of primitives to render. Symbolic constants.</param>
/// <param name="count">Points to an array of the elements counts.</param>
/// <param name="type">Specifies the type of the values in.</param>
/// <param name="indices">Specifies a pointer to the location where the indices are stored.</param>
/// <param name="drawcount">Specifies the size of the.</param>
/// <param name="basevertex">Specifies a pointer to the location where the base vertices are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void MultiDrawElementsBaseVertex(uint mode, [In] uint *count, uint type, void *indices, uint drawcount, [In] int[] basevertex) => glMultiDrawElementsBaseVertex5(mode, count, type, indices, drawcount, basevertex);
/// <summary>
/// Specifiy the vertex to be used as the source of data for flat shaded varyings
/// </summary>
/// <param name="mode"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ProvokingVertex(uint mode) => glProvokingVertex(mode);
/// <summary>
/// Create a new sync object and insert it into the gl command stream
/// </summary>
/// <param name="condition">Specifies the condition that must be met to set the sync object's state to signaled.</param>
/// <param name="flags">Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined for this operation and.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static IntPtr FenceSync(uint condition, uint flags) => glFenceSync(condition, flags);
/// <summary>
/// Determine if a name corresponds to a sync object
/// </summary>
/// <param name="sync">Specifies a value that may be the name of a sync object.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsSync(IntPtr sync) => glIsSync(sync);
/// <summary>
/// Delete a sync object
/// </summary>
/// <param name="sync">The sync object to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteSync(IntPtr sync) => glDeleteSync(sync);
/// <summary>
/// Block and wait for a sync object to become signaled
/// </summary>
/// <param name="sync">The sync object whose status to wait on.</param>
/// <param name="flags">A bitfield controlling the command flushing behavior.</param>
/// <param name="timeout">The timeout, specified in nanoseconds, for which the implementation should wait for.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static uint ClientWaitSync(IntPtr sync, uint flags, ulong timeout) => glClientWaitSync(sync, flags, timeout);
/// <summary>
/// Instruct the gl server to block until the specified sync object becomes signaled
/// </summary>
/// <param name="sync">Specifies the sync object whose status to wait on.</param>
/// <param name="flags">A bitfield controlling the command flushing behavior.</param>
/// <param name="timeout">Specifies the timeout that the server should wait before continuing.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void WaitSync(IntPtr sync, uint flags, ulong timeout) => glWaitSync(sync, flags, timeout);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetInteger64v(uint pname, [In, Out] long *data) => glGetInteger64v(pname, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetInteger64v(uint pname, ref long data) => glGetInteger64v1(pname, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetInteger64v(uint pname, [In, Out] long[] data) => glGetInteger64v2(pname, data);
/// <summary>
/// Query the properties of a sync object
/// </summary>
/// <param name="sync">Specifies the sync object whose properties to query.</param>
/// <param name="pname">Specifies the parameter whose value to retrieve from the sync object specified in.</param>
/// <param name="count"></param>
/// <param name="length">Specifies the address of an variable to receive the number of integers placed in.</param>
/// <param name="values">Specifies the address of an array to receive the values of the queried parameter.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSynciv(IntPtr sync, uint pname, uint count, [In, Out] uint *length, [In, Out] int *values) => glGetSynciv(sync, pname, count, length, values);
/// <summary>
/// Query the properties of a sync object
/// </summary>
/// <param name="sync">Specifies the sync object whose properties to query.</param>
/// <param name="pname">Specifies the parameter whose value to retrieve from the sync object specified in.</param>
/// <param name="count"></param>
/// <param name="length">Specifies the address of an variable to receive the number of integers placed in.</param>
/// <param name="values">Specifies the address of an array to receive the values of the queried parameter.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSynciv(IntPtr sync, uint pname, uint count, [In, Out] uint *length, ref int values) => glGetSynciv1(sync, pname, count, length, ref values);
/// <summary>
/// Query the properties of a sync object
/// </summary>
/// <param name="sync">Specifies the sync object whose properties to query.</param>
/// <param name="pname">Specifies the parameter whose value to retrieve from the sync object specified in.</param>
/// <param name="count"></param>
/// <param name="length">Specifies the address of an variable to receive the number of integers placed in.</param>
/// <param name="values">Specifies the address of an array to receive the values of the queried parameter.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSynciv(IntPtr sync, uint pname, uint count, [In, Out] uint *length, [In, Out] int[] values) => glGetSynciv2(sync, pname, count, length, values);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetInteger64i_v(uint target, uint index, [In, Out] long *data) => glGetInteger64i_v(target, index, data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetInteger64i_v(uint target, uint index, ref long data) => glGetInteger64i_v1(target, index, ref data);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetInteger64i_v(uint target, uint index, [In, Out] long[] data) => glGetInteger64i_v2(target, index, data);
/// <summary>
/// Return parameters of a buffer object
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="pname"></param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferParameteri64v(uint target, uint pname, [In, Out] long *parameters) => glGetBufferParameteri64v(target, pname, parameters);
/// <summary>
/// Return parameters of a buffer object
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="pname"></param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferParameteri64v(uint target, uint pname, ref long parameters) => glGetBufferParameteri64v1(target, pname, ref parameters);
/// <summary>
/// Return parameters of a buffer object
/// </summary>
/// <param name="target">Specifies the target to which the buffer object is bound for.</param>
/// <param name="pname"></param>
/// <param name="parameters"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetBufferParameteri64v(uint target, uint pname, [In, Out] long[] parameters) => glGetBufferParameteri64v2(target, pname, parameters);
/// <summary>
/// Attach a level of a texture object as a logical buffer of a framebuffer object
/// </summary>
/// <param name="target">Specifies the target to which the framebuffer is bound for all commands.</param>
/// <param name="attachment">Specifies the attachment point of the framebuffer.</param>
/// <param name="texture">Specifies the name of an existing texture object to attach.</param>
/// <param name="level">Specifies the mipmap level of the texture object to attach.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void FramebufferTexture(uint target, uint attachment, uint texture, int level) => glFramebufferTexture(target, attachment, texture, level);
/// <summary>
/// Establish the data storage, format, dimensions, and number of samples of a multisample texture's image
/// </summary>
/// <param name="target">Specifies the target of the operation.</param>
/// <param name="samples">The number of samples in the multisample texture's image.</param>
/// <param name="internalformat">The internal format to be used to store the multisample texture's image.</param>
/// <param name="width">The width of the multisample texture's image, in texels.</param>
/// <param name="height">The height of the multisample texture's image, in texels.</param>
/// <param name="fixedsamplelocations">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 not depend on the internal format or size of the image.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage2DMultisample(uint target, uint samples, uint internalformat, uint width, uint height, bool fixedsamplelocations) => glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
/// <summary>
/// Establish the data storage, format, dimensions, and number of samples of a multisample texture's image
/// </summary>
/// <param name="target">Specifies the target of the operation.</param>
/// <param name="samples">The number of samples in the multisample texture's image.</param>
/// <param name="internalformat">The internal format to be used to store the multisample texture's image.</param>
/// <param name="width">The width of the multisample texture's image, in texels.</param>
/// <param name="height">The height of the multisample texture's image, in texels.</param>
/// <param name="depth"></param>
/// <param name="fixedsamplelocations">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 not depend on the internal format or size of the image.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void TexImage3DMultisample(uint target, uint samples, uint internalformat, uint width, uint height, uint depth, bool fixedsamplelocations) => glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
/// <summary>
/// Retrieve the location of a sample
/// </summary>
/// <param name="pname">Specifies the sample parameter name.</param>
/// <param name="index">Specifies the index of the sample whose position to query.</param>
/// <param name="val">Specifies the address of an array to receive the position of the sample.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetMultisamplefv(uint pname, uint index, [In, Out] float *val) => glGetMultisamplefv(pname, index, val);
/// <summary>
/// Retrieve the location of a sample
/// </summary>
/// <param name="pname">Specifies the sample parameter name.</param>
/// <param name="index">Specifies the index of the sample whose position to query.</param>
/// <param name="val">Specifies the address of an array to receive the position of the sample.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetMultisamplefv(uint pname, uint index, ref float val) => glGetMultisamplefv1(pname, index, ref val);
/// <summary>
/// Retrieve the location of a sample
/// </summary>
/// <param name="pname">Specifies the sample parameter name.</param>
/// <param name="index">Specifies the index of the sample whose position to query.</param>
/// <param name="val">Specifies the address of an array to receive the position of the sample.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetMultisamplefv(uint pname, uint index, [In, Out] float[] val) => glGetMultisamplefv2(pname, index, val);
/// <summary>
/// Set the value of a sub-word of the sample mask
/// </summary>
/// <param name="maskNumber">Specifies which 32-bit sub-word of the sample mask to update.</param>
/// <param name="mask">Specifies the new value of the mask sub-word.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SampleMaski(uint maskNumber, uint mask) => glSampleMaski(maskNumber, mask);
/// <summary>
/// Bind a user-defined varying out variable to a fragment shader color number and index
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to modify.</param>
/// <param name="colorNumber">The color number to bind the user-defined varying out variable to.</param>
/// <param name="index">The index of the color input to bind the user-defined varying out variable to.</param>
/// <param name="name">The name of the user-defined varying out variable whose binding to modify.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFragDataLocationIndexed(uint program, uint colorNumber, uint index, [In] byte *name) => glBindFragDataLocationIndexed(program, colorNumber, index, name);
/// <summary>
/// Bind a user-defined varying out variable to a fragment shader color number and index
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to modify.</param>
/// <param name="colorNumber">The color number to bind the user-defined varying out variable to.</param>
/// <param name="index">The index of the color input to bind the user-defined varying out variable to.</param>
/// <param name="name">The name of the user-defined varying out variable whose binding to modify.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFragDataLocationIndexed(uint program, uint colorNumber, uint index, ref byte name) => glBindFragDataLocationIndexed1(program, colorNumber, index, ref name);
/// <summary>
/// Bind a user-defined varying out variable to a fragment shader color number and index
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to modify.</param>
/// <param name="colorNumber">The color number to bind the user-defined varying out variable to.</param>
/// <param name="index">The index of the color input to bind the user-defined varying out variable to.</param>
/// <param name="name">The name of the user-defined varying out variable whose binding to modify.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindFragDataLocationIndexed(uint program, uint colorNumber, uint index, [In] byte[] name) => glBindFragDataLocationIndexed2(program, colorNumber, index, name);
/// <summary>
/// Query the bindings of color indices to user-defined varying out variables
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to query.</param>
/// <param name="name">The name of the user-defined varying out variable whose index to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetFragDataIndex(uint program, [In] byte *name) => glGetFragDataIndex(program, name);
/// <summary>
/// Query the bindings of color indices to user-defined varying out variables
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to query.</param>
/// <param name="name">The name of the user-defined varying out variable whose index to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetFragDataIndex(uint program, ref byte name) => glGetFragDataIndex1(program, ref name);
/// <summary>
/// Query the bindings of color indices to user-defined varying out variables
/// </summary>
/// <param name="program">The name of the program containing varying out variable whose binding to query.</param>
/// <param name="name">The name of the user-defined varying out variable whose index to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static int GetFragDataIndex(uint program, [In] byte[] name) => glGetFragDataIndex2(program, name);
/// <summary>
/// Generate sampler object names
/// </summary>
/// <param name="count"></param>
/// <param name="samplers">Specifies an array in which the generated sampler object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenSamplers(uint count, [In, Out] uint *samplers) => glGenSamplers(count, samplers);
/// <summary>
/// Generate sampler object names
/// </summary>
/// <param name="count"></param>
/// <param name="samplers">Specifies an array in which the generated sampler object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenSamplers(uint count, ref uint samplers) => glGenSamplers1(count, ref samplers);
/// <summary>
/// Generate sampler object names
/// </summary>
/// <param name="count"></param>
/// <param name="samplers">Specifies an array in which the generated sampler object names are stored.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GenSamplers(uint count, [In, Out] uint[] samplers) => glGenSamplers2(count, samplers);
/// <summary>
/// Delete named sampler objects
/// </summary>
/// <param name="count"></param>
/// <param name="samplers">Specifies an array of sampler objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteSamplers(uint count, [In] uint *samplers) => glDeleteSamplers(count, samplers);
/// <summary>
/// Delete named sampler objects
/// </summary>
/// <param name="count"></param>
/// <param name="samplers">Specifies an array of sampler objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteSamplers(uint count, ref uint samplers) => glDeleteSamplers1(count, ref samplers);
/// <summary>
/// Delete named sampler objects
/// </summary>
/// <param name="count"></param>
/// <param name="samplers">Specifies an array of sampler objects to be deleted.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void DeleteSamplers(uint count, [In] uint[] samplers) => glDeleteSamplers2(count, samplers);
/// <summary>
/// Determine if a name corresponds to a sampler object
/// </summary>
/// <param name="sampler"></param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsSampler(uint sampler) => glIsSampler(sampler);
/// <summary>
/// Bind a named sampler to a texturing target
/// </summary>
/// <param name="unit">Specifies the index of the texture unit to which the sampler is bound.</param>
/// <param name="sampler">Specifies the name of a sampler.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void BindSampler(uint unit, uint sampler) => glBindSampler(unit, sampler);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameteri(uint sampler, uint pname, int param) => glSamplerParameteri(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameteriv(uint sampler, uint pname, [In] int *param) => glSamplerParameteriv(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameteriv(uint sampler, uint pname, ref int param) => glSamplerParameteriv1(sampler, pname, ref param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameteriv(uint sampler, uint pname, [In] int[] param) => glSamplerParameteriv2(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterf(uint sampler, uint pname, float param) => glSamplerParameterf(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterfv(uint sampler, uint pname, [In] float *param) => glSamplerParameterfv(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterfv(uint sampler, uint pname, ref float param) => glSamplerParameterfv1(sampler, pname, ref param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterfv(uint sampler, uint pname, [In] float[] param) => glSamplerParameterfv2(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterIiv(uint sampler, uint pname, [In] int *param) => glSamplerParameterIiv(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterIiv(uint sampler, uint pname, ref int param) => glSamplerParameterIiv1(sampler, pname, ref param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterIiv(uint sampler, uint pname, [In] int[] param) => glSamplerParameterIiv2(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterIuiv(uint sampler, uint pname, [In] uint *param) => glSamplerParameterIuiv(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterIuiv(uint sampler, uint pname, ref uint param) => glSamplerParameterIuiv1(sampler, pname, ref param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void SamplerParameterIuiv(uint sampler, uint pname, [In] uint[] param) => glSamplerParameterIuiv2(sampler, pname, param);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameteriv(uint sampler, uint pname, [In, Out] int *parameters) => glGetSamplerParameteriv(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameteriv(uint sampler, uint pname, ref int parameters) => glGetSamplerParameteriv1(sampler, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameteriv(uint sampler, uint pname, [In, Out] int[] parameters) => glGetSamplerParameteriv2(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterIiv(uint sampler, uint pname, [In, Out] int *parameters) => glGetSamplerParameterIiv(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterIiv(uint sampler, uint pname, ref int parameters) => glGetSamplerParameterIiv1(sampler, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterIiv(uint sampler, uint pname, [In, Out] int[] parameters) => glGetSamplerParameterIiv2(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterfv(uint sampler, uint pname, [In, Out] float *parameters) => glGetSamplerParameterfv(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterfv(uint sampler, uint pname, ref float parameters) => glGetSamplerParameterfv1(sampler, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterfv(uint sampler, uint pname, [In, Out] float[] parameters) => glGetSamplerParameterfv2(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterIuiv(uint sampler, uint pname, [In, Out] uint *parameters) => glGetSamplerParameterIuiv(sampler, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterIuiv(uint sampler, uint pname, ref uint parameters) => glGetSamplerParameterIuiv1(sampler, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetSamplerParameterIuiv(uint sampler, uint pname, [In, Out] uint[] parameters) => glGetSamplerParameterIuiv2(sampler, pname, parameters);
/// <summary>
/// Record the gl time into a query object after all previous commands have reached the gl server but have not yet necessarily executed.
/// </summary>
/// <param name="id">Specify the name of a query object into which to record the GL time.</param>
/// <param name="target">Specify the counter to query.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void QueryCounter(uint id, uint target) => glQueryCounter(id, target);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjecti64v(uint id, uint pname, [In, Out] long *parameters) => glGetQueryObjecti64v(id, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjecti64v(uint id, uint pname, ref long parameters) => glGetQueryObjecti64v1(id, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjecti64v(uint id, uint pname, [In, Out] long[] parameters) => glGetQueryObjecti64v2(id, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectui64v(uint id, uint pname, [In, Out] ulong *parameters) => glGetQueryObjectui64v(id, pname, parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectui64v(uint id, uint pname, ref ulong parameters) => glGetQueryObjectui64v1(id, pname, ref parameters);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void GetQueryObjectui64v(uint id, uint pname, [In, Out] ulong[] parameters) => glGetQueryObjectui64v2(id, pname, parameters);
/// <summary>
/// Modify the rate at which generic vertex attributes advance during instanced rendering
/// </summary>
/// <param name="index">Specify the index of the generic vertex attribute.</param>
/// <param name="divisor">Specify the number of instances that will pass between updates of the generic attribute at slot.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribDivisor(uint index, uint divisor) => glVertexAttribDivisor(index, divisor);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP1ui(uint index, uint type, bool normalized, uint value) => glVertexAttribP1ui(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP1uiv(uint index, uint type, bool normalized, [In] uint *value) => glVertexAttribP1uiv(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP1uiv(uint index, uint type, bool normalized, ref uint value) => glVertexAttribP1uiv1(index, type, normalized, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP1uiv(uint index, uint type, bool normalized, [In] uint[] value) => glVertexAttribP1uiv2(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP2ui(uint index, uint type, bool normalized, uint value) => glVertexAttribP2ui(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP2uiv(uint index, uint type, bool normalized, [In] uint *value) => glVertexAttribP2uiv(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP2uiv(uint index, uint type, bool normalized, ref uint value) => glVertexAttribP2uiv1(index, type, normalized, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP2uiv(uint index, uint type, bool normalized, [In] uint[] value) => glVertexAttribP2uiv2(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP3ui(uint index, uint type, bool normalized, uint value) => glVertexAttribP3ui(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP3uiv(uint index, uint type, bool normalized, [In] uint *value) => glVertexAttribP3uiv(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP3uiv(uint index, uint type, bool normalized, ref uint value) => glVertexAttribP3uiv1(index, type, normalized, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP3uiv(uint index, uint type, bool normalized, [In] uint[] value) => glVertexAttribP3uiv2(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP4ui(uint index, uint type, bool normalized, uint value) => glVertexAttribP4ui(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP4uiv(uint index, uint type, bool normalized, [In] uint *value) => glVertexAttribP4uiv(index, type, normalized, value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP4uiv(uint index, uint type, bool normalized, ref uint value) => glVertexAttribP4uiv1(index, type, normalized, ref value);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void VertexAttribP4uiv(uint index, uint type, bool normalized, [In] uint[] value) => glVertexAttribP4uiv2(index, type, normalized, value);
}
}
using System;
using System.Runtime.InteropServices;
using System.Security;
// ReSharper disable StringLiteralTypo
// ReSharper disable InconsistentNaming
// ReSharper disable IdentifierTypo
namespace OpenGL
{
[SuppressUnmanagedCodeSecurity]
public static unsafe partial class GL
{
private static CullFaceProc glCullFace;
private static FrontFaceProc glFrontFace;
private static HintProc glHint;
private static LineWidthProc glLineWidth;
private static PointSizeProc glPointSize;
private static PolygonModeProc glPolygonMode;
private static ScissorProc glScissor;
private static TexParameterfProc glTexParameterf;
private static TexParameterfvProc glTexParameterfv;
private static TexParameterfvProc1 glTexParameterfv1;
private static TexParameterfvProc2 glTexParameterfv2;
private static TexParameteriProc glTexParameteri;
private static TexParameterivProc glTexParameteriv;
private static TexParameterivProc1 glTexParameteriv1;
private static TexParameterivProc2 glTexParameteriv2;
private static TexImage1DProc glTexImage1D;
private static TexImage1DProc1 glTexImage1D1;
private static TexImage2DProc glTexImage2D;
private static TexImage2DProc1 glTexImage2D1;
private static DrawBufferProc glDrawBuffer;
private static ClearProc glClear;
private static ClearColorProc glClearColor;
private static ClearStencilProc glClearStencil;
private static ClearDepthProc glClearDepth;
private static StencilMaskProc glStencilMask;
private static ColorMaskProc glColorMask;
private static DepthMaskProc glDepthMask;
private static DisableProc glDisable;
private static EnableProc glEnable;
private static BlendFuncProc glBlendFunc;
private static LogicOpProc glLogicOp;
private static StencilFuncProc glStencilFunc;
private static StencilOpProc glStencilOp;
private static DepthFuncProc glDepthFunc;
private static PixelStorefProc glPixelStoref;
private static PixelStoreiProc glPixelStorei;
private static ReadBufferProc glReadBuffer;
private static ReadPixelsProc glReadPixels;
private static ReadPixelsProc1 glReadPixels1;
private static GetBooleanvProc glGetBooleanv;
private static GetBooleanvProc1 glGetBooleanv1;
private static GetBooleanvProc2 glGetBooleanv2;
private static GetDoublevProc glGetDoublev;
private static GetDoublevProc1 glGetDoublev1;
private static GetDoublevProc2 glGetDoublev2;
private static GetFloatvProc glGetFloatv;
private static GetFloatvProc1 glGetFloatv1;
private static GetFloatvProc2 glGetFloatv2;
private static GetIntegervProc glGetIntegerv;
private static GetIntegervProc1 glGetIntegerv1;
private static GetIntegervProc2 glGetIntegerv2;
private static GetStringProc glGetString;
private static GetTexImageProc glGetTexImage;
private static GetTexImageProc1 glGetTexImage1;
private static GetTexParameterfvProc glGetTexParameterfv;
private static GetTexParameterfvProc1 glGetTexParameterfv1;
private static GetTexParameterfvProc2 glGetTexParameterfv2;
private static GetTexParameterivProc glGetTexParameteriv;
private static GetTexParameterivProc1 glGetTexParameteriv1;
private static GetTexParameterivProc2 glGetTexParameteriv2;
private static GetTexLevelParameterfvProc glGetTexLevelParameterfv;
private static GetTexLevelParameterfvProc1 glGetTexLevelParameterfv1;
private static GetTexLevelParameterfvProc2 glGetTexLevelParameterfv2;
private static GetTexLevelParameterivProc glGetTexLevelParameteriv;
private static GetTexLevelParameterivProc1 glGetTexLevelParameteriv1;
private static GetTexLevelParameterivProc2 glGetTexLevelParameteriv2;
private static IsEnabledProc glIsEnabled;
private static DepthRangeProc glDepthRange;
private static ViewportProc glViewport;
private static DrawArraysProc glDrawArrays;
private static DrawElementsProc glDrawElements;
private static DrawElementsProc1 glDrawElements1;
private static PolygonOffsetProc glPolygonOffset;
private static CopyTexImage1DProc glCopyTexImage1D;
private static CopyTexImage2DProc glCopyTexImage2D;
private static CopyTexSubImage1DProc glCopyTexSubImage1D;
private static CopyTexSubImage2DProc glCopyTexSubImage2D;
private static TexSubImage1DProc glTexSubImage1D;
private static TexSubImage1DProc1 glTexSubImage1D1;
private static TexSubImage2DProc glTexSubImage2D;
private static TexSubImage2DProc1 glTexSubImage2D1;
private static BindTextureProc glBindTexture;
private static DeleteTexturesProc glDeleteTextures;
private static DeleteTexturesProc1 glDeleteTextures1;
private static DeleteTexturesProc2 glDeleteTextures2;
private static GenTexturesProc glGenTextures;
private static GenTexturesProc1 glGenTextures1;
private static GenTexturesProc2 glGenTextures2;
private static IsTextureProc glIsTexture;
private static DrawRangeElementsProc glDrawRangeElements;
private static DrawRangeElementsProc1 glDrawRangeElements1;
private static TexImage3DProc glTexImage3D;
private static TexImage3DProc1 glTexImage3D1;
private static TexSubImage3DProc glTexSubImage3D;
private static TexSubImage3DProc1 glTexSubImage3D1;
private static CopyTexSubImage3DProc glCopyTexSubImage3D;
private static ActiveTextureProc glActiveTexture;
private static SampleCoverageProc glSampleCoverage;
private static CompressedTexImage3DProc glCompressedTexImage3D;
private static CompressedTexImage3DProc1 glCompressedTexImage3D1;
private static CompressedTexImage2DProc glCompressedTexImage2D;
private static CompressedTexImage2DProc1 glCompressedTexImage2D1;
private static CompressedTexImage1DProc glCompressedTexImage1D;
private static CompressedTexImage1DProc1 glCompressedTexImage1D1;
private static CompressedTexSubImage3DProc glCompressedTexSubImage3D;
private static CompressedTexSubImage3DProc1 glCompressedTexSubImage3D1;
private static CompressedTexSubImage2DProc glCompressedTexSubImage2D;
private static CompressedTexSubImage2DProc1 glCompressedTexSubImage2D1;
private static CompressedTexSubImage1DProc glCompressedTexSubImage1D;
private static CompressedTexSubImage1DProc1 glCompressedTexSubImage1D1;
private static GetCompressedTexImageProc glGetCompressedTexImage;
private static GetCompressedTexImageProc1 glGetCompressedTexImage1;
private static BlendFuncSeparateProc glBlendFuncSeparate;
private static MultiDrawArraysProc glMultiDrawArrays;
private static MultiDrawArraysProc1 glMultiDrawArrays1;
private static MultiDrawArraysProc2 glMultiDrawArrays2;
private static MultiDrawElementsProc glMultiDrawElements;
private static MultiDrawElementsProc1 glMultiDrawElements1;
private static PointParameterfProc glPointParameterf;
private static PointParameterfvProc glPointParameterfv;
private static PointParameterfvProc1 glPointParameterfv1;
private static PointParameterfvProc2 glPointParameterfv2;
private static PointParameteriProc glPointParameteri;
private static PointParameterivProc glPointParameteriv;
private static PointParameterivProc1 glPointParameteriv1;
private static PointParameterivProc2 glPointParameteriv2;
private static BlendColorProc glBlendColor;
private static BlendEquationProc glBlendEquation;
private static GenQueriesProc glGenQueries;
private static GenQueriesProc1 glGenQueries1;
private static GenQueriesProc2 glGenQueries2;
private static DeleteQueriesProc glDeleteQueries;
private static DeleteQueriesProc1 glDeleteQueries1;
private static DeleteQueriesProc2 glDeleteQueries2;
private static IsQueryProc glIsQuery;
private static BeginQueryProc glBeginQuery;
private static EndQueryProc glEndQuery;
private static GetQueryivProc glGetQueryiv;
private static GetQueryivProc1 glGetQueryiv1;
private static GetQueryivProc2 glGetQueryiv2;
private static GetQueryObjectivProc glGetQueryObjectiv;
private static GetQueryObjectivProc1 glGetQueryObjectiv1;
private static GetQueryObjectivProc2 glGetQueryObjectiv2;
private static GetQueryObjectuivProc glGetQueryObjectuiv;
private static GetQueryObjectuivProc1 glGetQueryObjectuiv1;
private static GetQueryObjectuivProc2 glGetQueryObjectuiv2;
private static BindBufferProc glBindBuffer;
private static DeleteBuffersProc glDeleteBuffers;
private static DeleteBuffersProc1 glDeleteBuffers1;
private static DeleteBuffersProc2 glDeleteBuffers2;
private static GenBuffersProc glGenBuffers;
private static GenBuffersProc1 glGenBuffers1;
private static GenBuffersProc2 glGenBuffers2;
private static IsBufferProc glIsBuffer;
private static BufferDataProc glBufferData;
private static BufferDataProc1 glBufferData1;
private static BufferSubDataProc glBufferSubData;
private static BufferSubDataProc1 glBufferSubData1;
private static GetBufferSubDataProc glGetBufferSubData;
private static GetBufferSubDataProc1 glGetBufferSubData1;
private static MapBufferProc glMapBuffer;
private static UnmapBufferProc glUnmapBuffer;
private static GetBufferParameterivProc glGetBufferParameteriv;
private static GetBufferParameterivProc1 glGetBufferParameteriv1;
private static GetBufferParameterivProc2 glGetBufferParameteriv2;
private static GetBufferPointervProc glGetBufferPointerv;
private static GetBufferPointervProc1 glGetBufferPointerv1;
private static BlendEquationSeparateProc glBlendEquationSeparate;
private static DrawBuffersProc glDrawBuffers;
private static DrawBuffersProc1 glDrawBuffers1;
private static DrawBuffersProc2 glDrawBuffers2;
private static StencilOpSeparateProc glStencilOpSeparate;
private static StencilFuncSeparateProc glStencilFuncSeparate;
private static StencilMaskSeparateProc glStencilMaskSeparate;
private static AttachShaderProc glAttachShader;
private static BindAttribLocationProc glBindAttribLocation;
private static BindAttribLocationProc1 glBindAttribLocation1;
private static BindAttribLocationProc2 glBindAttribLocation2;
private static CompileShaderProc glCompileShader;
private static CreateShaderProc glCreateShader;
private static DeleteProgramProc glDeleteProgram;
private static DeleteShaderProc glDeleteShader;
private static DetachShaderProc glDetachShader;
private static DisableVertexAttribArrayProc glDisableVertexAttribArray;
private static EnableVertexAttribArrayProc glEnableVertexAttribArray;
private static GetActiveAttribProc glGetActiveAttrib;
private static GetActiveAttribProc1 glGetActiveAttrib1;
private static GetActiveAttribProc2 glGetActiveAttrib2;
private static GetActiveAttribProc3 glGetActiveAttrib3;
private static GetActiveAttribProc4 glGetActiveAttrib4;
private static GetActiveAttribProc5 glGetActiveAttrib5;
private static GetActiveAttribProc6 glGetActiveAttrib6;
private static GetActiveAttribProc7 glGetActiveAttrib7;
private static GetActiveAttribProc8 glGetActiveAttrib8;
private static GetActiveAttribProc9 glGetActiveAttrib9;
private static GetActiveAttribProc10 glGetActiveAttrib10;
private static GetActiveAttribProc11 glGetActiveAttrib11;
private static GetActiveAttribProc12 glGetActiveAttrib12;
private static GetActiveAttribProc13 glGetActiveAttrib13;
private static GetActiveAttribProc14 glGetActiveAttrib14;
private static GetActiveAttribProc15 glGetActiveAttrib15;
private static GetActiveAttribProc16 glGetActiveAttrib16;
private static GetActiveAttribProc17 glGetActiveAttrib17;
private static GetActiveAttribProc18 glGetActiveAttrib18;
private static GetActiveAttribProc19 glGetActiveAttrib19;
private static GetActiveAttribProc20 glGetActiveAttrib20;
private static GetActiveAttribProc21 glGetActiveAttrib21;
private static GetActiveAttribProc22 glGetActiveAttrib22;
private static GetActiveAttribProc23 glGetActiveAttrib23;
private static GetActiveAttribProc24 glGetActiveAttrib24;
private static GetActiveAttribProc25 glGetActiveAttrib25;
private static GetActiveAttribProc26 glGetActiveAttrib26;
private static GetActiveUniformProc glGetActiveUniform;
private static GetActiveUniformProc1 glGetActiveUniform1;
private static GetActiveUniformProc2 glGetActiveUniform2;
private static GetActiveUniformProc3 glGetActiveUniform3;
private static GetActiveUniformProc4 glGetActiveUniform4;
private static GetActiveUniformProc5 glGetActiveUniform5;
private static GetActiveUniformProc6 glGetActiveUniform6;
private static GetActiveUniformProc7 glGetActiveUniform7;
private static GetActiveUniformProc8 glGetActiveUniform8;
private static GetActiveUniformProc9 glGetActiveUniform9;
private static GetActiveUniformProc10 glGetActiveUniform10;
private static GetActiveUniformProc11 glGetActiveUniform11;
private static GetActiveUniformProc12 glGetActiveUniform12;
private static GetActiveUniformProc13 glGetActiveUniform13;
private static GetActiveUniformProc14 glGetActiveUniform14;
private static GetActiveUniformProc15 glGetActiveUniform15;
private static GetActiveUniformProc16 glGetActiveUniform16;
private static GetActiveUniformProc17 glGetActiveUniform17;
private static GetActiveUniformProc18 glGetActiveUniform18;
private static GetActiveUniformProc19 glGetActiveUniform19;
private static GetActiveUniformProc20 glGetActiveUniform20;
private static GetActiveUniformProc21 glGetActiveUniform21;
private static GetActiveUniformProc22 glGetActiveUniform22;
private static GetActiveUniformProc23 glGetActiveUniform23;
private static GetActiveUniformProc24 glGetActiveUniform24;
private static GetActiveUniformProc25 glGetActiveUniform25;
private static GetActiveUniformProc26 glGetActiveUniform26;
private static GetAttachedShadersProc glGetAttachedShaders;
private static GetAttachedShadersProc1 glGetAttachedShaders1;
private static GetAttachedShadersProc2 glGetAttachedShaders2;
private static GetAttribLocationProc glGetAttribLocation;
private static GetAttribLocationProc1 glGetAttribLocation1;
private static GetAttribLocationProc2 glGetAttribLocation2;
private static GetProgramivProc glGetProgramiv;
private static GetProgramivProc1 glGetProgramiv1;
private static GetProgramivProc2 glGetProgramiv2;
private static GetProgramInfoLogProc glGetProgramInfoLog;
private static GetProgramInfoLogProc1 glGetProgramInfoLog1;
private static GetProgramInfoLogProc2 glGetProgramInfoLog2;
private static GetShaderivProc glGetShaderiv;
private static GetShaderivProc1 glGetShaderiv1;
private static GetShaderivProc2 glGetShaderiv2;
private static GetShaderInfoLogProc glGetShaderInfoLog;
private static GetShaderInfoLogProc1 glGetShaderInfoLog1;
private static GetShaderInfoLogProc2 glGetShaderInfoLog2;
private static GetShaderSourceProc glGetShaderSource;
private static GetShaderSourceProc1 glGetShaderSource1;
private static GetShaderSourceProc2 glGetShaderSource2;
private static GetUniformLocationProc glGetUniformLocation;
private static GetUniformLocationProc1 glGetUniformLocation1;
private static GetUniformLocationProc2 glGetUniformLocation2;
private static GetUniformfvProc glGetUniformfv;
private static GetUniformfvProc1 glGetUniformfv1;
private static GetUniformfvProc2 glGetUniformfv2;
private static GetUniformivProc glGetUniformiv;
private static GetUniformivProc1 glGetUniformiv1;
private static GetUniformivProc2 glGetUniformiv2;
private static GetVertexAttribdvProc glGetVertexAttribdv;
private static GetVertexAttribdvProc1 glGetVertexAttribdv1;
private static GetVertexAttribdvProc2 glGetVertexAttribdv2;
private static GetVertexAttribfvProc glGetVertexAttribfv;
private static GetVertexAttribfvProc1 glGetVertexAttribfv1;
private static GetVertexAttribfvProc2 glGetVertexAttribfv2;
private static GetVertexAttribivProc glGetVertexAttribiv;
private static GetVertexAttribivProc1 glGetVertexAttribiv1;
private static GetVertexAttribivProc2 glGetVertexAttribiv2;
private static GetVertexAttribPointervProc glGetVertexAttribPointerv;
private static GetVertexAttribPointervProc1 glGetVertexAttribPointerv1;
private static IsProgramProc glIsProgram;
private static IsShaderProc glIsShader;
private static LinkProgramProc glLinkProgram;
private static ShaderSourceProc glShaderSource;
private static ShaderSourceProc1 glShaderSource1;
private static ShaderSourceProc2 glShaderSource2;
private static ShaderSourceProc3 glShaderSource3;
private static ShaderSourceProc4 glShaderSource4;
private static ShaderSourceProc5 glShaderSource5;
private static ShaderSourceProc6 glShaderSource6;
private static ShaderSourceProc7 glShaderSource7;
private static ShaderSourceProc8 glShaderSource8;
private static UseProgramProc glUseProgram;
private static Uniform1fProc glUniform1f;
private static Uniform2fProc glUniform2f;
private static Uniform3fProc glUniform3f;
private static Uniform4fProc glUniform4f;
private static Uniform1iProc glUniform1i;
private static Uniform2iProc glUniform2i;
private static Uniform3iProc glUniform3i;
private static Uniform4iProc glUniform4i;
private static Uniform1fvProc glUniform1fv;
private static Uniform1fvProc1 glUniform1fv1;
private static Uniform1fvProc2 glUniform1fv2;
private static Uniform2fvProc glUniform2fv;
private static Uniform2fvProc1 glUniform2fv1;
private static Uniform2fvProc2 glUniform2fv2;
private static Uniform3fvProc glUniform3fv;
private static Uniform3fvProc1 glUniform3fv1;
private static Uniform3fvProc2 glUniform3fv2;
private static Uniform4fvProc glUniform4fv;
private static Uniform4fvProc1 glUniform4fv1;
private static Uniform4fvProc2 glUniform4fv2;
private static Uniform1ivProc glUniform1iv;
private static Uniform1ivProc1 glUniform1iv1;
private static Uniform1ivProc2 glUniform1iv2;
private static Uniform2ivProc glUniform2iv;
private static Uniform2ivProc1 glUniform2iv1;
private static Uniform2ivProc2 glUniform2iv2;
private static Uniform3ivProc glUniform3iv;
private static Uniform3ivProc1 glUniform3iv1;
private static Uniform3ivProc2 glUniform3iv2;
private static Uniform4ivProc glUniform4iv;
private static Uniform4ivProc1 glUniform4iv1;
private static Uniform4ivProc2 glUniform4iv2;
private static UniformMatrix2fvProc glUniformMatrix2fv;
private static UniformMatrix2fvProc1 glUniformMatrix2fv1;
private static UniformMatrix2fvProc2 glUniformMatrix2fv2;
private static UniformMatrix3fvProc glUniformMatrix3fv;
private static UniformMatrix3fvProc1 glUniformMatrix3fv1;
private static UniformMatrix3fvProc2 glUniformMatrix3fv2;
private static UniformMatrix4fvProc glUniformMatrix4fv;
private static UniformMatrix4fvProc1 glUniformMatrix4fv1;
private static UniformMatrix4fvProc2 glUniformMatrix4fv2;
private static ValidateProgramProc glValidateProgram;
private static VertexAttrib1dProc glVertexAttrib1d;
private static VertexAttrib1dvProc glVertexAttrib1dv;
private static VertexAttrib1dvProc1 glVertexAttrib1dv1;
private static VertexAttrib1dvProc2 glVertexAttrib1dv2;
private static VertexAttrib1fProc glVertexAttrib1f;
private static VertexAttrib1fvProc glVertexAttrib1fv;
private static VertexAttrib1fvProc1 glVertexAttrib1fv1;
private static VertexAttrib1fvProc2 glVertexAttrib1fv2;
private static VertexAttrib1sProc glVertexAttrib1s;
private static VertexAttrib1svProc glVertexAttrib1sv;
private static VertexAttrib1svProc1 glVertexAttrib1sv1;
private static VertexAttrib1svProc2 glVertexAttrib1sv2;
private static VertexAttrib2dProc glVertexAttrib2d;
private static VertexAttrib2dvProc glVertexAttrib2dv;
private static VertexAttrib2dvProc1 glVertexAttrib2dv1;
private static VertexAttrib2dvProc2 glVertexAttrib2dv2;
private static VertexAttrib2fProc glVertexAttrib2f;
private static VertexAttrib2fvProc glVertexAttrib2fv;
private static VertexAttrib2fvProc1 glVertexAttrib2fv1;
private static VertexAttrib2fvProc2 glVertexAttrib2fv2;
private static VertexAttrib2sProc glVertexAttrib2s;
private static VertexAttrib2svProc glVertexAttrib2sv;
private static VertexAttrib2svProc1 glVertexAttrib2sv1;
private static VertexAttrib2svProc2 glVertexAttrib2sv2;
private static VertexAttrib3dProc glVertexAttrib3d;
private static VertexAttrib3dvProc glVertexAttrib3dv;
private static VertexAttrib3dvProc1 glVertexAttrib3dv1;
private static VertexAttrib3dvProc2 glVertexAttrib3dv2;
private static VertexAttrib3fProc glVertexAttrib3f;
private static VertexAttrib3fvProc glVertexAttrib3fv;
private static VertexAttrib3fvProc1 glVertexAttrib3fv1;
private static VertexAttrib3fvProc2 glVertexAttrib3fv2;
private static VertexAttrib3sProc glVertexAttrib3s;
private static VertexAttrib3svProc glVertexAttrib3sv;
private static VertexAttrib3svProc1 glVertexAttrib3sv1;
private static VertexAttrib3svProc2 glVertexAttrib3sv2;
private static VertexAttrib4NbvProc glVertexAttrib4Nbv;
private static VertexAttrib4NbvProc1 glVertexAttrib4Nbv1;
private static VertexAttrib4NbvProc2 glVertexAttrib4Nbv2;
private static VertexAttrib4NivProc glVertexAttrib4Niv;
private static VertexAttrib4NivProc1 glVertexAttrib4Niv1;
private static VertexAttrib4NivProc2 glVertexAttrib4Niv2;
private static VertexAttrib4NsvProc glVertexAttrib4Nsv;
private static VertexAttrib4NsvProc1 glVertexAttrib4Nsv1;
private static VertexAttrib4NsvProc2 glVertexAttrib4Nsv2;
private static VertexAttrib4NubProc glVertexAttrib4Nub;
private static VertexAttrib4NubvProc glVertexAttrib4Nubv;
private static VertexAttrib4NubvProc1 glVertexAttrib4Nubv1;
private static VertexAttrib4NubvProc2 glVertexAttrib4Nubv2;
private static VertexAttrib4NuivProc glVertexAttrib4Nuiv;
private static VertexAttrib4NuivProc1 glVertexAttrib4Nuiv1;
private static VertexAttrib4NuivProc2 glVertexAttrib4Nuiv2;
private static VertexAttrib4NusvProc glVertexAttrib4Nusv;
private static VertexAttrib4NusvProc1 glVertexAttrib4Nusv1;
private static VertexAttrib4NusvProc2 glVertexAttrib4Nusv2;
private static VertexAttrib4bvProc glVertexAttrib4bv;
private static VertexAttrib4bvProc1 glVertexAttrib4bv1;
private static VertexAttrib4bvProc2 glVertexAttrib4bv2;
private static VertexAttrib4dProc glVertexAttrib4d;
private static VertexAttrib4dvProc glVertexAttrib4dv;
private static VertexAttrib4dvProc1 glVertexAttrib4dv1;
private static VertexAttrib4dvProc2 glVertexAttrib4dv2;
private static VertexAttrib4fProc glVertexAttrib4f;
private static VertexAttrib4fvProc glVertexAttrib4fv;
private static VertexAttrib4fvProc1 glVertexAttrib4fv1;
private static VertexAttrib4fvProc2 glVertexAttrib4fv2;
private static VertexAttrib4ivProc glVertexAttrib4iv;
private static VertexAttrib4ivProc1 glVertexAttrib4iv1;
private static VertexAttrib4ivProc2 glVertexAttrib4iv2;
private static VertexAttrib4sProc glVertexAttrib4s;
private static VertexAttrib4svProc glVertexAttrib4sv;
private static VertexAttrib4svProc1 glVertexAttrib4sv1;
private static VertexAttrib4svProc2 glVertexAttrib4sv2;
private static VertexAttrib4ubvProc glVertexAttrib4ubv;
private static VertexAttrib4ubvProc1 glVertexAttrib4ubv1;
private static VertexAttrib4ubvProc2 glVertexAttrib4ubv2;
private static VertexAttrib4uivProc glVertexAttrib4uiv;
private static VertexAttrib4uivProc1 glVertexAttrib4uiv1;
private static VertexAttrib4uivProc2 glVertexAttrib4uiv2;
private static VertexAttrib4usvProc glVertexAttrib4usv;
private static VertexAttrib4usvProc1 glVertexAttrib4usv1;
private static VertexAttrib4usvProc2 glVertexAttrib4usv2;
private static VertexAttribPointerProc glVertexAttribPointer;
private static VertexAttribPointerProc1 glVertexAttribPointer1;
private static UniformMatrix2x3fvProc glUniformMatrix2x3fv;
private static UniformMatrix2x3fvProc1 glUniformMatrix2x3fv1;
private static UniformMatrix2x3fvProc2 glUniformMatrix2x3fv2;
private static UniformMatrix3x2fvProc glUniformMatrix3x2fv;
private static UniformMatrix3x2fvProc1 glUniformMatrix3x2fv1;
private static UniformMatrix3x2fvProc2 glUniformMatrix3x2fv2;
private static UniformMatrix2x4fvProc glUniformMatrix2x4fv;
private static UniformMatrix2x4fvProc1 glUniformMatrix2x4fv1;
private static UniformMatrix2x4fvProc2 glUniformMatrix2x4fv2;
private static UniformMatrix4x2fvProc glUniformMatrix4x2fv;
private static UniformMatrix4x2fvProc1 glUniformMatrix4x2fv1;
private static UniformMatrix4x2fvProc2 glUniformMatrix4x2fv2;
private static UniformMatrix3x4fvProc glUniformMatrix3x4fv;
private static UniformMatrix3x4fvProc1 glUniformMatrix3x4fv1;
private static UniformMatrix3x4fvProc2 glUniformMatrix3x4fv2;
private static UniformMatrix4x3fvProc glUniformMatrix4x3fv;
private static UniformMatrix4x3fvProc1 glUniformMatrix4x3fv1;
private static UniformMatrix4x3fvProc2 glUniformMatrix4x3fv2;
private static ColorMaskiProc glColorMaski;
private static GetBooleani_vProc glGetBooleani_v;
private static GetBooleani_vProc1 glGetBooleani_v1;
private static GetBooleani_vProc2 glGetBooleani_v2;
private static EnableiProc glEnablei;
private static DisableiProc glDisablei;
private static IsEnablediProc glIsEnabledi;
private static BeginTransformFeedbackProc glBeginTransformFeedback;
private static TransformFeedbackVaryingsProc glTransformFeedbackVaryings;
private static TransformFeedbackVaryingsProc1 glTransformFeedbackVaryings1;
private static TransformFeedbackVaryingsProc2 glTransformFeedbackVaryings2;
private static GetTransformFeedbackVaryingProc glGetTransformFeedbackVarying;
private static GetTransformFeedbackVaryingProc1 glGetTransformFeedbackVarying1;
private static GetTransformFeedbackVaryingProc2 glGetTransformFeedbackVarying2;
private static GetTransformFeedbackVaryingProc3 glGetTransformFeedbackVarying3;
private static GetTransformFeedbackVaryingProc4 glGetTransformFeedbackVarying4;
private static GetTransformFeedbackVaryingProc5 glGetTransformFeedbackVarying5;
private static GetTransformFeedbackVaryingProc6 glGetTransformFeedbackVarying6;
private static GetTransformFeedbackVaryingProc7 glGetTransformFeedbackVarying7;
private static GetTransformFeedbackVaryingProc8 glGetTransformFeedbackVarying8;
private static ClampColorProc glClampColor;
private static BeginConditionalRenderProc glBeginConditionalRender;
private static VertexAttribIPointerProc glVertexAttribIPointer;
private static VertexAttribIPointerProc1 glVertexAttribIPointer1;
private static GetVertexAttribIivProc glGetVertexAttribIiv;
private static GetVertexAttribIivProc1 glGetVertexAttribIiv1;
private static GetVertexAttribIivProc2 glGetVertexAttribIiv2;
private static GetVertexAttribIuivProc glGetVertexAttribIuiv;
private static GetVertexAttribIuivProc1 glGetVertexAttribIuiv1;
private static GetVertexAttribIuivProc2 glGetVertexAttribIuiv2;
private static VertexAttribI1iProc glVertexAttribI1i;
private static VertexAttribI2iProc glVertexAttribI2i;
private static VertexAttribI3iProc glVertexAttribI3i;
private static VertexAttribI4iProc glVertexAttribI4i;
private static VertexAttribI1uiProc glVertexAttribI1ui;
private static VertexAttribI2uiProc glVertexAttribI2ui;
private static VertexAttribI3uiProc glVertexAttribI3ui;
private static VertexAttribI4uiProc glVertexAttribI4ui;
private static VertexAttribI1ivProc glVertexAttribI1iv;
private static VertexAttribI1ivProc1 glVertexAttribI1iv1;
private static VertexAttribI1ivProc2 glVertexAttribI1iv2;
private static VertexAttribI2ivProc glVertexAttribI2iv;
private static VertexAttribI2ivProc1 glVertexAttribI2iv1;
private static VertexAttribI2ivProc2 glVertexAttribI2iv2;
private static VertexAttribI3ivProc glVertexAttribI3iv;
private static VertexAttribI3ivProc1 glVertexAttribI3iv1;
private static VertexAttribI3ivProc2 glVertexAttribI3iv2;
private static VertexAttribI4ivProc glVertexAttribI4iv;
private static VertexAttribI4ivProc1 glVertexAttribI4iv1;
private static VertexAttribI4ivProc2 glVertexAttribI4iv2;
private static VertexAttribI1uivProc glVertexAttribI1uiv;
private static VertexAttribI1uivProc1 glVertexAttribI1uiv1;
private static VertexAttribI1uivProc2 glVertexAttribI1uiv2;
private static VertexAttribI2uivProc glVertexAttribI2uiv;
private static VertexAttribI2uivProc1 glVertexAttribI2uiv1;
private static VertexAttribI2uivProc2 glVertexAttribI2uiv2;
private static VertexAttribI3uivProc glVertexAttribI3uiv;
private static VertexAttribI3uivProc1 glVertexAttribI3uiv1;
private static VertexAttribI3uivProc2 glVertexAttribI3uiv2;
private static VertexAttribI4uivProc glVertexAttribI4uiv;
private static VertexAttribI4uivProc1 glVertexAttribI4uiv1;
private static VertexAttribI4uivProc2 glVertexAttribI4uiv2;
private static VertexAttribI4bvProc glVertexAttribI4bv;
private static VertexAttribI4bvProc1 glVertexAttribI4bv1;
private static VertexAttribI4bvProc2 glVertexAttribI4bv2;
private static VertexAttribI4svProc glVertexAttribI4sv;
private static VertexAttribI4svProc1 glVertexAttribI4sv1;
private static VertexAttribI4svProc2 glVertexAttribI4sv2;
private static VertexAttribI4ubvProc glVertexAttribI4ubv;
private static VertexAttribI4ubvProc1 glVertexAttribI4ubv1;
private static VertexAttribI4ubvProc2 glVertexAttribI4ubv2;
private static VertexAttribI4usvProc glVertexAttribI4usv;
private static VertexAttribI4usvProc1 glVertexAttribI4usv1;
private static VertexAttribI4usvProc2 glVertexAttribI4usv2;
private static GetUniformuivProc glGetUniformuiv;
private static GetUniformuivProc1 glGetUniformuiv1;
private static GetUniformuivProc2 glGetUniformuiv2;
private static BindFragDataLocationProc glBindFragDataLocation;
private static BindFragDataLocationProc1 glBindFragDataLocation1;
private static BindFragDataLocationProc2 glBindFragDataLocation2;
private static GetFragDataLocationProc glGetFragDataLocation;
private static GetFragDataLocationProc1 glGetFragDataLocation1;
private static GetFragDataLocationProc2 glGetFragDataLocation2;
private static Uniform1uiProc glUniform1ui;
private static Uniform2uiProc glUniform2ui;
private static Uniform3uiProc glUniform3ui;
private static Uniform4uiProc glUniform4ui;
private static Uniform1uivProc glUniform1uiv;
private static Uniform1uivProc1 glUniform1uiv1;
private static Uniform1uivProc2 glUniform1uiv2;
private static Uniform2uivProc glUniform2uiv;
private static Uniform2uivProc1 glUniform2uiv1;
private static Uniform2uivProc2 glUniform2uiv2;
private static Uniform3uivProc glUniform3uiv;
private static Uniform3uivProc1 glUniform3uiv1;
private static Uniform3uivProc2 glUniform3uiv2;
private static Uniform4uivProc glUniform4uiv;
private static Uniform4uivProc1 glUniform4uiv1;
private static Uniform4uivProc2 glUniform4uiv2;
private static TexParameterIivProc glTexParameterIiv;
private static TexParameterIivProc1 glTexParameterIiv1;
private static TexParameterIivProc2 glTexParameterIiv2;
private static TexParameterIuivProc glTexParameterIuiv;
private static TexParameterIuivProc1 glTexParameterIuiv1;
private static TexParameterIuivProc2 glTexParameterIuiv2;
private static GetTexParameterIivProc glGetTexParameterIiv;
private static GetTexParameterIivProc1 glGetTexParameterIiv1;
private static GetTexParameterIivProc2 glGetTexParameterIiv2;
private static GetTexParameterIuivProc glGetTexParameterIuiv;
private static GetTexParameterIuivProc1 glGetTexParameterIuiv1;
private static GetTexParameterIuivProc2 glGetTexParameterIuiv2;
private static ClearBufferivProc glClearBufferiv;
private static ClearBufferivProc1 glClearBufferiv1;
private static ClearBufferivProc2 glClearBufferiv2;
private static ClearBufferuivProc glClearBufferuiv;
private static ClearBufferuivProc1 glClearBufferuiv1;
private static ClearBufferuivProc2 glClearBufferuiv2;
private static ClearBufferfvProc glClearBufferfv;
private static ClearBufferfvProc1 glClearBufferfv1;
private static ClearBufferfvProc2 glClearBufferfv2;
private static ClearBufferfiProc glClearBufferfi;
private static GetStringiProc glGetStringi;
private static IsRenderbufferProc glIsRenderbuffer;
private static BindRenderbufferProc glBindRenderbuffer;
private static DeleteRenderbuffersProc glDeleteRenderbuffers;
private static DeleteRenderbuffersProc1 glDeleteRenderbuffers1;
private static DeleteRenderbuffersProc2 glDeleteRenderbuffers2;
private static GenRenderbuffersProc glGenRenderbuffers;
private static GenRenderbuffersProc1 glGenRenderbuffers1;
private static GenRenderbuffersProc2 glGenRenderbuffers2;
private static RenderbufferStorageProc glRenderbufferStorage;
private static GetRenderbufferParameterivProc glGetRenderbufferParameteriv;
private static GetRenderbufferParameterivProc1 glGetRenderbufferParameteriv1;
private static GetRenderbufferParameterivProc2 glGetRenderbufferParameteriv2;
private static IsFramebufferProc glIsFramebuffer;
private static BindFramebufferProc glBindFramebuffer;
private static DeleteFramebuffersProc glDeleteFramebuffers;
private static DeleteFramebuffersProc1 glDeleteFramebuffers1;
private static DeleteFramebuffersProc2 glDeleteFramebuffers2;
private static GenFramebuffersProc glGenFramebuffers;
private static GenFramebuffersProc1 glGenFramebuffers1;
private static GenFramebuffersProc2 glGenFramebuffers2;
private static CheckFramebufferStatusProc glCheckFramebufferStatus;
private static FramebufferTexture1DProc glFramebufferTexture1D;
private static FramebufferTexture2DProc glFramebufferTexture2D;
private static FramebufferTexture3DProc glFramebufferTexture3D;
private static FramebufferRenderbufferProc glFramebufferRenderbuffer;
private static GetFramebufferAttachmentParameterivProc glGetFramebufferAttachmentParameteriv;
private static GetFramebufferAttachmentParameterivProc1 glGetFramebufferAttachmentParameteriv1;
private static GetFramebufferAttachmentParameterivProc2 glGetFramebufferAttachmentParameteriv2;
private static GenerateMipmapProc glGenerateMipmap;
private static BlitFramebufferProc glBlitFramebuffer;
private static RenderbufferStorageMultisampleProc glRenderbufferStorageMultisample;
private static FramebufferTextureLayerProc glFramebufferTextureLayer;
private static MapBufferRangeProc glMapBufferRange;
private static FlushMappedBufferRangeProc glFlushMappedBufferRange;
private static BindVertexArrayProc glBindVertexArray;
private static DeleteVertexArraysProc glDeleteVertexArrays;
private static DeleteVertexArraysProc1 glDeleteVertexArrays1;
private static DeleteVertexArraysProc2 glDeleteVertexArrays2;
private static GenVertexArraysProc glGenVertexArrays;
private static GenVertexArraysProc1 glGenVertexArrays1;
private static GenVertexArraysProc2 glGenVertexArrays2;
private static IsVertexArrayProc glIsVertexArray;
private static DrawArraysInstancedProc glDrawArraysInstanced;
private static DrawElementsInstancedProc glDrawElementsInstanced;
private static DrawElementsInstancedProc1 glDrawElementsInstanced1;
private static TexBufferProc glTexBuffer;
private static PrimitiveRestartIndexProc glPrimitiveRestartIndex;
private static CopyBufferSubDataProc glCopyBufferSubData;
private static GetUniformIndicesProc glGetUniformIndices;
private static GetUniformIndicesProc1 glGetUniformIndices1;
private static GetUniformIndicesProc2 glGetUniformIndices2;
private static GetUniformIndicesProc3 glGetUniformIndices3;
private static GetUniformIndicesProc4 glGetUniformIndices4;
private static GetUniformIndicesProc5 glGetUniformIndices5;
private static GetUniformIndicesProc6 glGetUniformIndices6;
private static GetUniformIndicesProc7 glGetUniformIndices7;
private static GetUniformIndicesProc8 glGetUniformIndices8;
private static GetActiveUniformsivProc glGetActiveUniformsiv;
private static GetActiveUniformsivProc1 glGetActiveUniformsiv1;
private static GetActiveUniformsivProc2 glGetActiveUniformsiv2;
private static GetActiveUniformsivProc3 glGetActiveUniformsiv3;
private static GetActiveUniformsivProc4 glGetActiveUniformsiv4;
private static GetActiveUniformsivProc5 glGetActiveUniformsiv5;
private static GetActiveUniformsivProc6 glGetActiveUniformsiv6;
private static GetActiveUniformsivProc7 glGetActiveUniformsiv7;
private static GetActiveUniformsivProc8 glGetActiveUniformsiv8;
private static GetActiveUniformNameProc glGetActiveUniformName;
private static GetActiveUniformNameProc1 glGetActiveUniformName1;
private static GetActiveUniformNameProc2 glGetActiveUniformName2;
private static GetUniformBlockIndexProc glGetUniformBlockIndex;
private static GetUniformBlockIndexProc1 glGetUniformBlockIndex1;
private static GetUniformBlockIndexProc2 glGetUniformBlockIndex2;
private static GetActiveUniformBlockivProc glGetActiveUniformBlockiv;
private static GetActiveUniformBlockivProc1 glGetActiveUniformBlockiv1;
private static GetActiveUniformBlockivProc2 glGetActiveUniformBlockiv2;
private static GetActiveUniformBlockNameProc glGetActiveUniformBlockName;
private static GetActiveUniformBlockNameProc1 glGetActiveUniformBlockName1;
private static GetActiveUniformBlockNameProc2 glGetActiveUniformBlockName2;
private static UniformBlockBindingProc glUniformBlockBinding;
private static DrawElementsBaseVertexProc glDrawElementsBaseVertex;
private static DrawElementsBaseVertexProc1 glDrawElementsBaseVertex1;
private static DrawRangeElementsBaseVertexProc glDrawRangeElementsBaseVertex;
private static DrawRangeElementsBaseVertexProc1 glDrawRangeElementsBaseVertex1;
private static DrawElementsInstancedBaseVertexProc glDrawElementsInstancedBaseVertex;
private static DrawElementsInstancedBaseVertexProc1 glDrawElementsInstancedBaseVertex1;
private static MultiDrawElementsBaseVertexProc glMultiDrawElementsBaseVertex;
private static MultiDrawElementsBaseVertexProc1 glMultiDrawElementsBaseVertex1;
private static MultiDrawElementsBaseVertexProc2 glMultiDrawElementsBaseVertex2;
private static MultiDrawElementsBaseVertexProc3 glMultiDrawElementsBaseVertex3;
private static MultiDrawElementsBaseVertexProc4 glMultiDrawElementsBaseVertex4;
private static MultiDrawElementsBaseVertexProc5 glMultiDrawElementsBaseVertex5;
private static ProvokingVertexProc glProvokingVertex;
private static FenceSyncProc glFenceSync;
private static IsSyncProc glIsSync;
private static DeleteSyncProc glDeleteSync;
private static ClientWaitSyncProc glClientWaitSync;
private static WaitSyncProc glWaitSync;
private static GetInteger64vProc glGetInteger64v;
private static GetInteger64vProc1 glGetInteger64v1;
private static GetInteger64vProc2 glGetInteger64v2;
private static GetSyncivProc glGetSynciv;
private static GetSyncivProc1 glGetSynciv1;
private static GetSyncivProc2 glGetSynciv2;
private static GetInteger64i_vProc glGetInteger64i_v;
private static GetInteger64i_vProc1 glGetInteger64i_v1;
private static GetInteger64i_vProc2 glGetInteger64i_v2;
private static GetBufferParameteri64vProc glGetBufferParameteri64v;
private static GetBufferParameteri64vProc1 glGetBufferParameteri64v1;
private static GetBufferParameteri64vProc2 glGetBufferParameteri64v2;
private static FramebufferTextureProc glFramebufferTexture;
private static TexImage2DMultisampleProc glTexImage2DMultisample;
private static TexImage3DMultisampleProc glTexImage3DMultisample;
private static GetMultisamplefvProc glGetMultisamplefv;
private static GetMultisamplefvProc1 glGetMultisamplefv1;
private static GetMultisamplefvProc2 glGetMultisamplefv2;
private static SampleMaskiProc glSampleMaski;
private static BindFragDataLocationIndexedProc glBindFragDataLocationIndexed;
private static BindFragDataLocationIndexedProc1 glBindFragDataLocationIndexed1;
private static BindFragDataLocationIndexedProc2 glBindFragDataLocationIndexed2;
private static GetFragDataIndexProc glGetFragDataIndex;
private static GetFragDataIndexProc1 glGetFragDataIndex1;
private static GetFragDataIndexProc2 glGetFragDataIndex2;
private static GenSamplersProc glGenSamplers;
private static GenSamplersProc1 glGenSamplers1;
private static GenSamplersProc2 glGenSamplers2;
private static DeleteSamplersProc glDeleteSamplers;
private static DeleteSamplersProc1 glDeleteSamplers1;
private static DeleteSamplersProc2 glDeleteSamplers2;
private static IsSamplerProc glIsSampler;
private static BindSamplerProc glBindSampler;
private static SamplerParameteriProc glSamplerParameteri;
private static SamplerParameterivProc glSamplerParameteriv;
private static SamplerParameterivProc1 glSamplerParameteriv1;
private static SamplerParameterivProc2 glSamplerParameteriv2;
private static SamplerParameterfProc glSamplerParameterf;
private static SamplerParameterfvProc glSamplerParameterfv;
private static SamplerParameterfvProc1 glSamplerParameterfv1;
private static SamplerParameterfvProc2 glSamplerParameterfv2;
private static SamplerParameterIivProc glSamplerParameterIiv;
private static SamplerParameterIivProc1 glSamplerParameterIiv1;
private static SamplerParameterIivProc2 glSamplerParameterIiv2;
private static SamplerParameterIuivProc glSamplerParameterIuiv;
private static SamplerParameterIuivProc1 glSamplerParameterIuiv1;
private static SamplerParameterIuivProc2 glSamplerParameterIuiv2;
private static GetSamplerParameterivProc glGetSamplerParameteriv;
private static GetSamplerParameterivProc1 glGetSamplerParameteriv1;
private static GetSamplerParameterivProc2 glGetSamplerParameteriv2;
private static GetSamplerParameterIivProc glGetSamplerParameterIiv;
private static GetSamplerParameterIivProc1 glGetSamplerParameterIiv1;
private static GetSamplerParameterIivProc2 glGetSamplerParameterIiv2;
private static GetSamplerParameterfvProc glGetSamplerParameterfv;
private static GetSamplerParameterfvProc1 glGetSamplerParameterfv1;
private static GetSamplerParameterfvProc2 glGetSamplerParameterfv2;
private static GetSamplerParameterIuivProc glGetSamplerParameterIuiv;
private static GetSamplerParameterIuivProc1 glGetSamplerParameterIuiv1;
private static GetSamplerParameterIuivProc2 glGetSamplerParameterIuiv2;
private static QueryCounterProc glQueryCounter;
private static GetQueryObjecti64vProc glGetQueryObjecti64v;
private static GetQueryObjecti64vProc1 glGetQueryObjecti64v1;
private static GetQueryObjecti64vProc2 glGetQueryObjecti64v2;
private static GetQueryObjectui64vProc glGetQueryObjectui64v;
private static GetQueryObjectui64vProc1 glGetQueryObjectui64v1;
private static GetQueryObjectui64vProc2 glGetQueryObjectui64v2;
private static VertexAttribDivisorProc glVertexAttribDivisor;
private static VertexAttribP1uiProc glVertexAttribP1ui;
private static VertexAttribP1uivProc glVertexAttribP1uiv;
private static VertexAttribP1uivProc1 glVertexAttribP1uiv1;
private static VertexAttribP1uivProc2 glVertexAttribP1uiv2;
private static VertexAttribP2uiProc glVertexAttribP2ui;
private static VertexAttribP2uivProc glVertexAttribP2uiv;
private static VertexAttribP2uivProc1 glVertexAttribP2uiv1;
private static VertexAttribP2uivProc2 glVertexAttribP2uiv2;
private static VertexAttribP3uiProc glVertexAttribP3ui;
private static VertexAttribP3uivProc glVertexAttribP3uiv;
private static VertexAttribP3uivProc1 glVertexAttribP3uiv1;
private static VertexAttribP3uivProc2 glVertexAttribP3uiv2;
private static VertexAttribP4uiProc glVertexAttribP4ui;
private static VertexAttribP4uivProc glVertexAttribP4uiv;
private static VertexAttribP4uivProc1 glVertexAttribP4uiv1;
private static VertexAttribP4uivProc2 glVertexAttribP4uiv2;
public static void LoadLibrary(GetProcAddressHandler handler)
{
glCullFace = Marshal.GetDelegateForFunctionPointer<CullFaceProc>(handler("glCullFace"));
glFrontFace = Marshal.GetDelegateForFunctionPointer<FrontFaceProc>(handler("glFrontFace"));
glHint = Marshal.GetDelegateForFunctionPointer<HintProc>(handler("glHint"));
glLineWidth = Marshal.GetDelegateForFunctionPointer<LineWidthProc>(handler("glLineWidth"));
glPointSize = Marshal.GetDelegateForFunctionPointer<PointSizeProc>(handler("glPointSize"));
glPolygonMode = Marshal.GetDelegateForFunctionPointer<PolygonModeProc>(handler("glPolygonMode"));
glScissor = Marshal.GetDelegateForFunctionPointer<ScissorProc>(handler("glScissor"));
glTexParameterf = Marshal.GetDelegateForFunctionPointer<TexParameterfProc>(handler("glTexParameterf"));
glTexParameterfv = Marshal.GetDelegateForFunctionPointer<TexParameterfvProc>(handler("glTexParameterfv"));
glTexParameterfv1 = Marshal.GetDelegateForFunctionPointer<TexParameterfvProc1>(handler("glTexParameterfv"));
glTexParameterfv2 = Marshal.GetDelegateForFunctionPointer<TexParameterfvProc2>(handler("glTexParameterfv"));
glTexParameteri = Marshal.GetDelegateForFunctionPointer<TexParameteriProc>(handler("glTexParameteri"));
glTexParameteriv = Marshal.GetDelegateForFunctionPointer<TexParameterivProc>(handler("glTexParameteriv"));
glTexParameteriv1 = Marshal.GetDelegateForFunctionPointer<TexParameterivProc1>(handler("glTexParameteriv"));
glTexParameteriv2 = Marshal.GetDelegateForFunctionPointer<TexParameterivProc2>(handler("glTexParameteriv"));
glTexImage1D = Marshal.GetDelegateForFunctionPointer<TexImage1DProc>(handler("glTexImage1D"));
glTexImage1D1 = Marshal.GetDelegateForFunctionPointer<TexImage1DProc1>(handler("glTexImage1D"));
glTexImage2D = Marshal.GetDelegateForFunctionPointer<TexImage2DProc>(handler("glTexImage2D"));
glTexImage2D1 = Marshal.GetDelegateForFunctionPointer<TexImage2DProc1>(handler("glTexImage2D"));
glDrawBuffer = Marshal.GetDelegateForFunctionPointer<DrawBufferProc>(handler("glDrawBuffer"));
glClear = Marshal.GetDelegateForFunctionPointer<ClearProc>(handler("glClear"));
glClearColor = Marshal.GetDelegateForFunctionPointer<ClearColorProc>(handler("glClearColor"));
glClearStencil = Marshal.GetDelegateForFunctionPointer<ClearStencilProc>(handler("glClearStencil"));
glClearDepth = Marshal.GetDelegateForFunctionPointer<ClearDepthProc>(handler("glClearDepth"));
glStencilMask = Marshal.GetDelegateForFunctionPointer<StencilMaskProc>(handler("glStencilMask"));
glColorMask = Marshal.GetDelegateForFunctionPointer<ColorMaskProc>(handler("glColorMask"));
glDepthMask = Marshal.GetDelegateForFunctionPointer<DepthMaskProc>(handler("glDepthMask"));
glDisable = Marshal.GetDelegateForFunctionPointer<DisableProc>(handler("glDisable"));
glEnable = Marshal.GetDelegateForFunctionPointer<EnableProc>(handler("glEnable"));
glBlendFunc = Marshal.GetDelegateForFunctionPointer<BlendFuncProc>(handler("glBlendFunc"));
glLogicOp = Marshal.GetDelegateForFunctionPointer<LogicOpProc>(handler("glLogicOp"));
glStencilFunc = Marshal.GetDelegateForFunctionPointer<StencilFuncProc>(handler("glStencilFunc"));
glStencilOp = Marshal.GetDelegateForFunctionPointer<StencilOpProc>(handler("glStencilOp"));
glDepthFunc = Marshal.GetDelegateForFunctionPointer<DepthFuncProc>(handler("glDepthFunc"));
glPixelStoref = Marshal.GetDelegateForFunctionPointer<PixelStorefProc>(handler("glPixelStoref"));
glPixelStorei = Marshal.GetDelegateForFunctionPointer<PixelStoreiProc>(handler("glPixelStorei"));
glReadBuffer = Marshal.GetDelegateForFunctionPointer<ReadBufferProc>(handler("glReadBuffer"));
glReadPixels = Marshal.GetDelegateForFunctionPointer<ReadPixelsProc>(handler("glReadPixels"));
glReadPixels1 = Marshal.GetDelegateForFunctionPointer<ReadPixelsProc1>(handler("glReadPixels"));
glGetBooleanv = Marshal.GetDelegateForFunctionPointer<GetBooleanvProc>(handler("glGetBooleanv"));
glGetBooleanv1 = Marshal.GetDelegateForFunctionPointer<GetBooleanvProc1>(handler("glGetBooleanv"));
glGetBooleanv2 = Marshal.GetDelegateForFunctionPointer<GetBooleanvProc2>(handler("glGetBooleanv"));
glGetDoublev = Marshal.GetDelegateForFunctionPointer<GetDoublevProc>(handler("glGetDoublev"));
glGetDoublev1 = Marshal.GetDelegateForFunctionPointer<GetDoublevProc1>(handler("glGetDoublev"));
glGetDoublev2 = Marshal.GetDelegateForFunctionPointer<GetDoublevProc2>(handler("glGetDoublev"));
glGetFloatv = Marshal.GetDelegateForFunctionPointer<GetFloatvProc>(handler("glGetFloatv"));
glGetFloatv1 = Marshal.GetDelegateForFunctionPointer<GetFloatvProc1>(handler("glGetFloatv"));
glGetFloatv2 = Marshal.GetDelegateForFunctionPointer<GetFloatvProc2>(handler("glGetFloatv"));
glGetIntegerv = Marshal.GetDelegateForFunctionPointer<GetIntegervProc>(handler("glGetIntegerv"));
glGetIntegerv1 = Marshal.GetDelegateForFunctionPointer<GetIntegervProc1>(handler("glGetIntegerv"));
glGetIntegerv2 = Marshal.GetDelegateForFunctionPointer<GetIntegervProc2>(handler("glGetIntegerv"));
glGetString = Marshal.GetDelegateForFunctionPointer<GetStringProc>(handler("glGetString"));
glGetTexImage = Marshal.GetDelegateForFunctionPointer<GetTexImageProc>(handler("glGetTexImage"));
glGetTexImage1 = Marshal.GetDelegateForFunctionPointer<GetTexImageProc1>(handler("glGetTexImage"));
glGetTexParameterfv = Marshal.GetDelegateForFunctionPointer<GetTexParameterfvProc>(handler("glGetTexParameterfv"));
glGetTexParameterfv1 = Marshal.GetDelegateForFunctionPointer<GetTexParameterfvProc1>(handler("glGetTexParameterfv"));
glGetTexParameterfv2 = Marshal.GetDelegateForFunctionPointer<GetTexParameterfvProc2>(handler("glGetTexParameterfv"));
glGetTexParameteriv = Marshal.GetDelegateForFunctionPointer<GetTexParameterivProc>(handler("glGetTexParameteriv"));
glGetTexParameteriv1 = Marshal.GetDelegateForFunctionPointer<GetTexParameterivProc1>(handler("glGetTexParameteriv"));
glGetTexParameteriv2 = Marshal.GetDelegateForFunctionPointer<GetTexParameterivProc2>(handler("glGetTexParameteriv"));
glGetTexLevelParameterfv = Marshal.GetDelegateForFunctionPointer<GetTexLevelParameterfvProc>(handler("glGetTexLevelParameterfv"));
glGetTexLevelParameterfv1 = Marshal.GetDelegateForFunctionPointer<GetTexLevelParameterfvProc1>(handler("glGetTexLevelParameterfv"));
glGetTexLevelParameterfv2 = Marshal.GetDelegateForFunctionPointer<GetTexLevelParameterfvProc2>(handler("glGetTexLevelParameterfv"));
glGetTexLevelParameteriv = Marshal.GetDelegateForFunctionPointer<GetTexLevelParameterivProc>(handler("glGetTexLevelParameteriv"));
glGetTexLevelParameteriv1 = Marshal.GetDelegateForFunctionPointer<GetTexLevelParameterivProc1>(handler("glGetTexLevelParameteriv"));
glGetTexLevelParameteriv2 = Marshal.GetDelegateForFunctionPointer<GetTexLevelParameterivProc2>(handler("glGetTexLevelParameteriv"));
glIsEnabled = Marshal.GetDelegateForFunctionPointer<IsEnabledProc>(handler("glIsEnabled"));
glDepthRange = Marshal.GetDelegateForFunctionPointer<DepthRangeProc>(handler("glDepthRange"));
glViewport = Marshal.GetDelegateForFunctionPointer<ViewportProc>(handler("glViewport"));
glDrawArrays = Marshal.GetDelegateForFunctionPointer<DrawArraysProc>(handler("glDrawArrays"));
glDrawElements = Marshal.GetDelegateForFunctionPointer<DrawElementsProc>(handler("glDrawElements"));
glDrawElements1 = Marshal.GetDelegateForFunctionPointer<DrawElementsProc1>(handler("glDrawElements"));
glPolygonOffset = Marshal.GetDelegateForFunctionPointer<PolygonOffsetProc>(handler("glPolygonOffset"));
glCopyTexImage1D = Marshal.GetDelegateForFunctionPointer<CopyTexImage1DProc>(handler("glCopyTexImage1D"));
glCopyTexImage2D = Marshal.GetDelegateForFunctionPointer<CopyTexImage2DProc>(handler("glCopyTexImage2D"));
glCopyTexSubImage1D = Marshal.GetDelegateForFunctionPointer<CopyTexSubImage1DProc>(handler("glCopyTexSubImage1D"));
glCopyTexSubImage2D = Marshal.GetDelegateForFunctionPointer<CopyTexSubImage2DProc>(handler("glCopyTexSubImage2D"));
glTexSubImage1D = Marshal.GetDelegateForFunctionPointer<TexSubImage1DProc>(handler("glTexSubImage1D"));
glTexSubImage1D1 = Marshal.GetDelegateForFunctionPointer<TexSubImage1DProc1>(handler("glTexSubImage1D"));
glTexSubImage2D = Marshal.GetDelegateForFunctionPointer<TexSubImage2DProc>(handler("glTexSubImage2D"));
glTexSubImage2D1 = Marshal.GetDelegateForFunctionPointer<TexSubImage2DProc1>(handler("glTexSubImage2D"));
glBindTexture = Marshal.GetDelegateForFunctionPointer<BindTextureProc>(handler("glBindTexture"));
glDeleteTextures = Marshal.GetDelegateForFunctionPointer<DeleteTexturesProc>(handler("glDeleteTextures"));
glDeleteTextures1 = Marshal.GetDelegateForFunctionPointer<DeleteTexturesProc1>(handler("glDeleteTextures"));
glDeleteTextures2 = Marshal.GetDelegateForFunctionPointer<DeleteTexturesProc2>(handler("glDeleteTextures"));
glGenTextures = Marshal.GetDelegateForFunctionPointer<GenTexturesProc>(handler("glGenTextures"));
glGenTextures1 = Marshal.GetDelegateForFunctionPointer<GenTexturesProc1>(handler("glGenTextures"));
glGenTextures2 = Marshal.GetDelegateForFunctionPointer<GenTexturesProc2>(handler("glGenTextures"));
glIsTexture = Marshal.GetDelegateForFunctionPointer<IsTextureProc>(handler("glIsTexture"));
glDrawRangeElements = Marshal.GetDelegateForFunctionPointer<DrawRangeElementsProc>(handler("glDrawRangeElements"));
glDrawRangeElements1 = Marshal.GetDelegateForFunctionPointer<DrawRangeElementsProc1>(handler("glDrawRangeElements"));
glTexImage3D = Marshal.GetDelegateForFunctionPointer<TexImage3DProc>(handler("glTexImage3D"));
glTexImage3D1 = Marshal.GetDelegateForFunctionPointer<TexImage3DProc1>(handler("glTexImage3D"));
glTexSubImage3D = Marshal.GetDelegateForFunctionPointer<TexSubImage3DProc>(handler("glTexSubImage3D"));
glTexSubImage3D1 = Marshal.GetDelegateForFunctionPointer<TexSubImage3DProc1>(handler("glTexSubImage3D"));
glCopyTexSubImage3D = Marshal.GetDelegateForFunctionPointer<CopyTexSubImage3DProc>(handler("glCopyTexSubImage3D"));
glActiveTexture = Marshal.GetDelegateForFunctionPointer<ActiveTextureProc>(handler("glActiveTexture"));
glSampleCoverage = Marshal.GetDelegateForFunctionPointer<SampleCoverageProc>(handler("glSampleCoverage"));
glCompressedTexImage3D = Marshal.GetDelegateForFunctionPointer<CompressedTexImage3DProc>(handler("glCompressedTexImage3D"));
glCompressedTexImage3D1 = Marshal.GetDelegateForFunctionPointer<CompressedTexImage3DProc1>(handler("glCompressedTexImage3D"));
glCompressedTexImage2D = Marshal.GetDelegateForFunctionPointer<CompressedTexImage2DProc>(handler("glCompressedTexImage2D"));
glCompressedTexImage2D1 = Marshal.GetDelegateForFunctionPointer<CompressedTexImage2DProc1>(handler("glCompressedTexImage2D"));
glCompressedTexImage1D = Marshal.GetDelegateForFunctionPointer<CompressedTexImage1DProc>(handler("glCompressedTexImage1D"));
glCompressedTexImage1D1 = Marshal.GetDelegateForFunctionPointer<CompressedTexImage1DProc1>(handler("glCompressedTexImage1D"));
glCompressedTexSubImage3D = Marshal.GetDelegateForFunctionPointer<CompressedTexSubImage3DProc>(handler("glCompressedTexSubImage3D"));
glCompressedTexSubImage3D1 = Marshal.GetDelegateForFunctionPointer<CompressedTexSubImage3DProc1>(handler("glCompressedTexSubImage3D"));
glCompressedTexSubImage2D = Marshal.GetDelegateForFunctionPointer<CompressedTexSubImage2DProc>(handler("glCompressedTexSubImage2D"));
glCompressedTexSubImage2D1 = Marshal.GetDelegateForFunctionPointer<CompressedTexSubImage2DProc1>(handler("glCompressedTexSubImage2D"));
glCompressedTexSubImage1D = Marshal.GetDelegateForFunctionPointer<CompressedTexSubImage1DProc>(handler("glCompressedTexSubImage1D"));
glCompressedTexSubImage1D1 = Marshal.GetDelegateForFunctionPointer<CompressedTexSubImage1DProc1>(handler("glCompressedTexSubImage1D"));
glGetCompressedTexImage = Marshal.GetDelegateForFunctionPointer<GetCompressedTexImageProc>(handler("glGetCompressedTexImage"));
glGetCompressedTexImage1 = Marshal.GetDelegateForFunctionPointer<GetCompressedTexImageProc1>(handler("glGetCompressedTexImage"));
glBlendFuncSeparate = Marshal.GetDelegateForFunctionPointer<BlendFuncSeparateProc>(handler("glBlendFuncSeparate"));
glMultiDrawArrays = Marshal.GetDelegateForFunctionPointer<MultiDrawArraysProc>(handler("glMultiDrawArrays"));
glMultiDrawArrays1 = Marshal.GetDelegateForFunctionPointer<MultiDrawArraysProc1>(handler("glMultiDrawArrays"));
glMultiDrawArrays2 = Marshal.GetDelegateForFunctionPointer<MultiDrawArraysProc2>(handler("glMultiDrawArrays"));
glMultiDrawElements = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsProc>(handler("glMultiDrawElements"));
glMultiDrawElements1 = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsProc1>(handler("glMultiDrawElements"));
glPointParameterf = Marshal.GetDelegateForFunctionPointer<PointParameterfProc>(handler("glPointParameterf"));
glPointParameterfv = Marshal.GetDelegateForFunctionPointer<PointParameterfvProc>(handler("glPointParameterfv"));
glPointParameterfv1 = Marshal.GetDelegateForFunctionPointer<PointParameterfvProc1>(handler("glPointParameterfv"));
glPointParameterfv2 = Marshal.GetDelegateForFunctionPointer<PointParameterfvProc2>(handler("glPointParameterfv"));
glPointParameteri = Marshal.GetDelegateForFunctionPointer<PointParameteriProc>(handler("glPointParameteri"));
glPointParameteriv = Marshal.GetDelegateForFunctionPointer<PointParameterivProc>(handler("glPointParameteriv"));
glPointParameteriv1 = Marshal.GetDelegateForFunctionPointer<PointParameterivProc1>(handler("glPointParameteriv"));
glPointParameteriv2 = Marshal.GetDelegateForFunctionPointer<PointParameterivProc2>(handler("glPointParameteriv"));
glBlendColor = Marshal.GetDelegateForFunctionPointer<BlendColorProc>(handler("glBlendColor"));
glBlendEquation = Marshal.GetDelegateForFunctionPointer<BlendEquationProc>(handler("glBlendEquation"));
glGenQueries = Marshal.GetDelegateForFunctionPointer<GenQueriesProc>(handler("glGenQueries"));
glGenQueries1 = Marshal.GetDelegateForFunctionPointer<GenQueriesProc1>(handler("glGenQueries"));
glGenQueries2 = Marshal.GetDelegateForFunctionPointer<GenQueriesProc2>(handler("glGenQueries"));
glDeleteQueries = Marshal.GetDelegateForFunctionPointer<DeleteQueriesProc>(handler("glDeleteQueries"));
glDeleteQueries1 = Marshal.GetDelegateForFunctionPointer<DeleteQueriesProc1>(handler("glDeleteQueries"));
glDeleteQueries2 = Marshal.GetDelegateForFunctionPointer<DeleteQueriesProc2>(handler("glDeleteQueries"));
glIsQuery = Marshal.GetDelegateForFunctionPointer<IsQueryProc>(handler("glIsQuery"));
glBeginQuery = Marshal.GetDelegateForFunctionPointer<BeginQueryProc>(handler("glBeginQuery"));
glEndQuery = Marshal.GetDelegateForFunctionPointer<EndQueryProc>(handler("glEndQuery"));
glGetQueryiv = Marshal.GetDelegateForFunctionPointer<GetQueryivProc>(handler("glGetQueryiv"));
glGetQueryiv1 = Marshal.GetDelegateForFunctionPointer<GetQueryivProc1>(handler("glGetQueryiv"));
glGetQueryiv2 = Marshal.GetDelegateForFunctionPointer<GetQueryivProc2>(handler("glGetQueryiv"));
glGetQueryObjectiv = Marshal.GetDelegateForFunctionPointer<GetQueryObjectivProc>(handler("glGetQueryObjectiv"));
glGetQueryObjectiv1 = Marshal.GetDelegateForFunctionPointer<GetQueryObjectivProc1>(handler("glGetQueryObjectiv"));
glGetQueryObjectiv2 = Marshal.GetDelegateForFunctionPointer<GetQueryObjectivProc2>(handler("glGetQueryObjectiv"));
glGetQueryObjectuiv = Marshal.GetDelegateForFunctionPointer<GetQueryObjectuivProc>(handler("glGetQueryObjectuiv"));
glGetQueryObjectuiv1 = Marshal.GetDelegateForFunctionPointer<GetQueryObjectuivProc1>(handler("glGetQueryObjectuiv"));
glGetQueryObjectuiv2 = Marshal.GetDelegateForFunctionPointer<GetQueryObjectuivProc2>(handler("glGetQueryObjectuiv"));
glBindBuffer = Marshal.GetDelegateForFunctionPointer<BindBufferProc>(handler("glBindBuffer"));
glDeleteBuffers = Marshal.GetDelegateForFunctionPointer<DeleteBuffersProc>(handler("glDeleteBuffers"));
glDeleteBuffers1 = Marshal.GetDelegateForFunctionPointer<DeleteBuffersProc1>(handler("glDeleteBuffers"));
glDeleteBuffers2 = Marshal.GetDelegateForFunctionPointer<DeleteBuffersProc2>(handler("glDeleteBuffers"));
glGenBuffers = Marshal.GetDelegateForFunctionPointer<GenBuffersProc>(handler("glGenBuffers"));
glGenBuffers1 = Marshal.GetDelegateForFunctionPointer<GenBuffersProc1>(handler("glGenBuffers"));
glGenBuffers2 = Marshal.GetDelegateForFunctionPointer<GenBuffersProc2>(handler("glGenBuffers"));
glIsBuffer = Marshal.GetDelegateForFunctionPointer<IsBufferProc>(handler("glIsBuffer"));
glBufferData = Marshal.GetDelegateForFunctionPointer<BufferDataProc>(handler("glBufferData"));
glBufferData1 = Marshal.GetDelegateForFunctionPointer<BufferDataProc1>(handler("glBufferData"));
glBufferSubData = Marshal.GetDelegateForFunctionPointer<BufferSubDataProc>(handler("glBufferSubData"));
glBufferSubData1 = Marshal.GetDelegateForFunctionPointer<BufferSubDataProc1>(handler("glBufferSubData"));
glGetBufferSubData = Marshal.GetDelegateForFunctionPointer<GetBufferSubDataProc>(handler("glGetBufferSubData"));
glGetBufferSubData1 = Marshal.GetDelegateForFunctionPointer<GetBufferSubDataProc1>(handler("glGetBufferSubData"));
glMapBuffer = Marshal.GetDelegateForFunctionPointer<MapBufferProc>(handler("glMapBuffer"));
glUnmapBuffer = Marshal.GetDelegateForFunctionPointer<UnmapBufferProc>(handler("glUnmapBuffer"));
glGetBufferParameteriv = Marshal.GetDelegateForFunctionPointer<GetBufferParameterivProc>(handler("glGetBufferParameteriv"));
glGetBufferParameteriv1 = Marshal.GetDelegateForFunctionPointer<GetBufferParameterivProc1>(handler("glGetBufferParameteriv"));
glGetBufferParameteriv2 = Marshal.GetDelegateForFunctionPointer<GetBufferParameterivProc2>(handler("glGetBufferParameteriv"));
glGetBufferPointerv = Marshal.GetDelegateForFunctionPointer<GetBufferPointervProc>(handler("glGetBufferPointerv"));
glGetBufferPointerv1 = Marshal.GetDelegateForFunctionPointer<GetBufferPointervProc1>(handler("glGetBufferPointerv"));
glBlendEquationSeparate = Marshal.GetDelegateForFunctionPointer<BlendEquationSeparateProc>(handler("glBlendEquationSeparate"));
glDrawBuffers = Marshal.GetDelegateForFunctionPointer<DrawBuffersProc>(handler("glDrawBuffers"));
glDrawBuffers1 = Marshal.GetDelegateForFunctionPointer<DrawBuffersProc1>(handler("glDrawBuffers"));
glDrawBuffers2 = Marshal.GetDelegateForFunctionPointer<DrawBuffersProc2>(handler("glDrawBuffers"));
glStencilOpSeparate = Marshal.GetDelegateForFunctionPointer<StencilOpSeparateProc>(handler("glStencilOpSeparate"));
glStencilFuncSeparate = Marshal.GetDelegateForFunctionPointer<StencilFuncSeparateProc>(handler("glStencilFuncSeparate"));
glStencilMaskSeparate = Marshal.GetDelegateForFunctionPointer<StencilMaskSeparateProc>(handler("glStencilMaskSeparate"));
glAttachShader = Marshal.GetDelegateForFunctionPointer<AttachShaderProc>(handler("glAttachShader"));
glBindAttribLocation = Marshal.GetDelegateForFunctionPointer<BindAttribLocationProc>(handler("glBindAttribLocation"));
glBindAttribLocation1 = Marshal.GetDelegateForFunctionPointer<BindAttribLocationProc1>(handler("glBindAttribLocation"));
glBindAttribLocation2 = Marshal.GetDelegateForFunctionPointer<BindAttribLocationProc2>(handler("glBindAttribLocation"));
glCompileShader = Marshal.GetDelegateForFunctionPointer<CompileShaderProc>(handler("glCompileShader"));
glCreateShader = Marshal.GetDelegateForFunctionPointer<CreateShaderProc>(handler("glCreateShader"));
glDeleteProgram = Marshal.GetDelegateForFunctionPointer<DeleteProgramProc>(handler("glDeleteProgram"));
glDeleteShader = Marshal.GetDelegateForFunctionPointer<DeleteShaderProc>(handler("glDeleteShader"));
glDetachShader = Marshal.GetDelegateForFunctionPointer<DetachShaderProc>(handler("glDetachShader"));
glDisableVertexAttribArray = Marshal.GetDelegateForFunctionPointer<DisableVertexAttribArrayProc>(handler("glDisableVertexAttribArray"));
glEnableVertexAttribArray = Marshal.GetDelegateForFunctionPointer<EnableVertexAttribArrayProc>(handler("glEnableVertexAttribArray"));
glGetActiveAttrib = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc>(handler("glGetActiveAttrib"));
glGetActiveAttrib1 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc1>(handler("glGetActiveAttrib"));
glGetActiveAttrib2 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc2>(handler("glGetActiveAttrib"));
glGetActiveAttrib3 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc3>(handler("glGetActiveAttrib"));
glGetActiveAttrib4 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc4>(handler("glGetActiveAttrib"));
glGetActiveAttrib5 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc5>(handler("glGetActiveAttrib"));
glGetActiveAttrib6 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc6>(handler("glGetActiveAttrib"));
glGetActiveAttrib7 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc7>(handler("glGetActiveAttrib"));
glGetActiveAttrib8 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc8>(handler("glGetActiveAttrib"));
glGetActiveAttrib9 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc9>(handler("glGetActiveAttrib"));
glGetActiveAttrib10 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc10>(handler("glGetActiveAttrib"));
glGetActiveAttrib11 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc11>(handler("glGetActiveAttrib"));
glGetActiveAttrib12 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc12>(handler("glGetActiveAttrib"));
glGetActiveAttrib13 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc13>(handler("glGetActiveAttrib"));
glGetActiveAttrib14 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc14>(handler("glGetActiveAttrib"));
glGetActiveAttrib15 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc15>(handler("glGetActiveAttrib"));
glGetActiveAttrib16 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc16>(handler("glGetActiveAttrib"));
glGetActiveAttrib17 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc17>(handler("glGetActiveAttrib"));
glGetActiveAttrib18 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc18>(handler("glGetActiveAttrib"));
glGetActiveAttrib19 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc19>(handler("glGetActiveAttrib"));
glGetActiveAttrib20 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc20>(handler("glGetActiveAttrib"));
glGetActiveAttrib21 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc21>(handler("glGetActiveAttrib"));
glGetActiveAttrib22 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc22>(handler("glGetActiveAttrib"));
glGetActiveAttrib23 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc23>(handler("glGetActiveAttrib"));
glGetActiveAttrib24 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc24>(handler("glGetActiveAttrib"));
glGetActiveAttrib25 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc25>(handler("glGetActiveAttrib"));
glGetActiveAttrib26 = Marshal.GetDelegateForFunctionPointer<GetActiveAttribProc26>(handler("glGetActiveAttrib"));
glGetActiveUniform = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc>(handler("glGetActiveUniform"));
glGetActiveUniform1 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc1>(handler("glGetActiveUniform"));
glGetActiveUniform2 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc2>(handler("glGetActiveUniform"));
glGetActiveUniform3 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc3>(handler("glGetActiveUniform"));
glGetActiveUniform4 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc4>(handler("glGetActiveUniform"));
glGetActiveUniform5 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc5>(handler("glGetActiveUniform"));
glGetActiveUniform6 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc6>(handler("glGetActiveUniform"));
glGetActiveUniform7 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc7>(handler("glGetActiveUniform"));
glGetActiveUniform8 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc8>(handler("glGetActiveUniform"));
glGetActiveUniform9 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc9>(handler("glGetActiveUniform"));
glGetActiveUniform10 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc10>(handler("glGetActiveUniform"));
glGetActiveUniform11 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc11>(handler("glGetActiveUniform"));
glGetActiveUniform12 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc12>(handler("glGetActiveUniform"));
glGetActiveUniform13 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc13>(handler("glGetActiveUniform"));
glGetActiveUniform14 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc14>(handler("glGetActiveUniform"));
glGetActiveUniform15 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc15>(handler("glGetActiveUniform"));
glGetActiveUniform16 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc16>(handler("glGetActiveUniform"));
glGetActiveUniform17 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc17>(handler("glGetActiveUniform"));
glGetActiveUniform18 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc18>(handler("glGetActiveUniform"));
glGetActiveUniform19 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc19>(handler("glGetActiveUniform"));
glGetActiveUniform20 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc20>(handler("glGetActiveUniform"));
glGetActiveUniform21 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc21>(handler("glGetActiveUniform"));
glGetActiveUniform22 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc22>(handler("glGetActiveUniform"));
glGetActiveUniform23 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc23>(handler("glGetActiveUniform"));
glGetActiveUniform24 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc24>(handler("glGetActiveUniform"));
glGetActiveUniform25 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc25>(handler("glGetActiveUniform"));
glGetActiveUniform26 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformProc26>(handler("glGetActiveUniform"));
glGetAttachedShaders = Marshal.GetDelegateForFunctionPointer<GetAttachedShadersProc>(handler("glGetAttachedShaders"));
glGetAttachedShaders1 = Marshal.GetDelegateForFunctionPointer<GetAttachedShadersProc1>(handler("glGetAttachedShaders"));
glGetAttachedShaders2 = Marshal.GetDelegateForFunctionPointer<GetAttachedShadersProc2>(handler("glGetAttachedShaders"));
glGetAttribLocation = Marshal.GetDelegateForFunctionPointer<GetAttribLocationProc>(handler("glGetAttribLocation"));
glGetAttribLocation1 = Marshal.GetDelegateForFunctionPointer<GetAttribLocationProc1>(handler("glGetAttribLocation"));
glGetAttribLocation2 = Marshal.GetDelegateForFunctionPointer<GetAttribLocationProc2>(handler("glGetAttribLocation"));
glGetProgramiv = Marshal.GetDelegateForFunctionPointer<GetProgramivProc>(handler("glGetProgramiv"));
glGetProgramiv1 = Marshal.GetDelegateForFunctionPointer<GetProgramivProc1>(handler("glGetProgramiv"));
glGetProgramiv2 = Marshal.GetDelegateForFunctionPointer<GetProgramivProc2>(handler("glGetProgramiv"));
glGetProgramInfoLog = Marshal.GetDelegateForFunctionPointer<GetProgramInfoLogProc>(handler("glGetProgramInfoLog"));
glGetProgramInfoLog1 = Marshal.GetDelegateForFunctionPointer<GetProgramInfoLogProc1>(handler("glGetProgramInfoLog"));
glGetProgramInfoLog2 = Marshal.GetDelegateForFunctionPointer<GetProgramInfoLogProc2>(handler("glGetProgramInfoLog"));
glGetShaderiv = Marshal.GetDelegateForFunctionPointer<GetShaderivProc>(handler("glGetShaderiv"));
glGetShaderiv1 = Marshal.GetDelegateForFunctionPointer<GetShaderivProc1>(handler("glGetShaderiv"));
glGetShaderiv2 = Marshal.GetDelegateForFunctionPointer<GetShaderivProc2>(handler("glGetShaderiv"));
glGetShaderInfoLog = Marshal.GetDelegateForFunctionPointer<GetShaderInfoLogProc>(handler("glGetShaderInfoLog"));
glGetShaderInfoLog1 = Marshal.GetDelegateForFunctionPointer<GetShaderInfoLogProc1>(handler("glGetShaderInfoLog"));
glGetShaderInfoLog2 = Marshal.GetDelegateForFunctionPointer<GetShaderInfoLogProc2>(handler("glGetShaderInfoLog"));
glGetShaderSource = Marshal.GetDelegateForFunctionPointer<GetShaderSourceProc>(handler("glGetShaderSource"));
glGetShaderSource1 = Marshal.GetDelegateForFunctionPointer<GetShaderSourceProc1>(handler("glGetShaderSource"));
glGetShaderSource2 = Marshal.GetDelegateForFunctionPointer<GetShaderSourceProc2>(handler("glGetShaderSource"));
glGetUniformLocation = Marshal.GetDelegateForFunctionPointer<GetUniformLocationProc>(handler("glGetUniformLocation"));
glGetUniformLocation1 = Marshal.GetDelegateForFunctionPointer<GetUniformLocationProc1>(handler("glGetUniformLocation"));
glGetUniformLocation2 = Marshal.GetDelegateForFunctionPointer<GetUniformLocationProc2>(handler("glGetUniformLocation"));
glGetUniformfv = Marshal.GetDelegateForFunctionPointer<GetUniformfvProc>(handler("glGetUniformfv"));
glGetUniformfv1 = Marshal.GetDelegateForFunctionPointer<GetUniformfvProc1>(handler("glGetUniformfv"));
glGetUniformfv2 = Marshal.GetDelegateForFunctionPointer<GetUniformfvProc2>(handler("glGetUniformfv"));
glGetUniformiv = Marshal.GetDelegateForFunctionPointer<GetUniformivProc>(handler("glGetUniformiv"));
glGetUniformiv1 = Marshal.GetDelegateForFunctionPointer<GetUniformivProc1>(handler("glGetUniformiv"));
glGetUniformiv2 = Marshal.GetDelegateForFunctionPointer<GetUniformivProc2>(handler("glGetUniformiv"));
glGetVertexAttribdv = Marshal.GetDelegateForFunctionPointer<GetVertexAttribdvProc>(handler("glGetVertexAttribdv"));
glGetVertexAttribdv1 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribdvProc1>(handler("glGetVertexAttribdv"));
glGetVertexAttribdv2 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribdvProc2>(handler("glGetVertexAttribdv"));
glGetVertexAttribfv = Marshal.GetDelegateForFunctionPointer<GetVertexAttribfvProc>(handler("glGetVertexAttribfv"));
glGetVertexAttribfv1 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribfvProc1>(handler("glGetVertexAttribfv"));
glGetVertexAttribfv2 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribfvProc2>(handler("glGetVertexAttribfv"));
glGetVertexAttribiv = Marshal.GetDelegateForFunctionPointer<GetVertexAttribivProc>(handler("glGetVertexAttribiv"));
glGetVertexAttribiv1 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribivProc1>(handler("glGetVertexAttribiv"));
glGetVertexAttribiv2 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribivProc2>(handler("glGetVertexAttribiv"));
glGetVertexAttribPointerv = Marshal.GetDelegateForFunctionPointer<GetVertexAttribPointervProc>(handler("glGetVertexAttribPointerv"));
glGetVertexAttribPointerv1 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribPointervProc1>(handler("glGetVertexAttribPointerv"));
glIsProgram = Marshal.GetDelegateForFunctionPointer<IsProgramProc>(handler("glIsProgram"));
glIsShader = Marshal.GetDelegateForFunctionPointer<IsShaderProc>(handler("glIsShader"));
glLinkProgram = Marshal.GetDelegateForFunctionPointer<LinkProgramProc>(handler("glLinkProgram"));
glShaderSource = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc>(handler("glShaderSource"));
glShaderSource1 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc1>(handler("glShaderSource"));
glShaderSource2 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc2>(handler("glShaderSource"));
glShaderSource3 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc3>(handler("glShaderSource"));
glShaderSource4 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc4>(handler("glShaderSource"));
glShaderSource5 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc5>(handler("glShaderSource"));
glShaderSource6 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc6>(handler("glShaderSource"));
glShaderSource7 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc7>(handler("glShaderSource"));
glShaderSource8 = Marshal.GetDelegateForFunctionPointer<ShaderSourceProc8>(handler("glShaderSource"));
glUseProgram = Marshal.GetDelegateForFunctionPointer<UseProgramProc>(handler("glUseProgram"));
glUniform1f = Marshal.GetDelegateForFunctionPointer<Uniform1fProc>(handler("glUniform1f"));
glUniform2f = Marshal.GetDelegateForFunctionPointer<Uniform2fProc>(handler("glUniform2f"));
glUniform3f = Marshal.GetDelegateForFunctionPointer<Uniform3fProc>(handler("glUniform3f"));
glUniform4f = Marshal.GetDelegateForFunctionPointer<Uniform4fProc>(handler("glUniform4f"));
glUniform1i = Marshal.GetDelegateForFunctionPointer<Uniform1iProc>(handler("glUniform1i"));
glUniform2i = Marshal.GetDelegateForFunctionPointer<Uniform2iProc>(handler("glUniform2i"));
glUniform3i = Marshal.GetDelegateForFunctionPointer<Uniform3iProc>(handler("glUniform3i"));
glUniform4i = Marshal.GetDelegateForFunctionPointer<Uniform4iProc>(handler("glUniform4i"));
glUniform1fv = Marshal.GetDelegateForFunctionPointer<Uniform1fvProc>(handler("glUniform1fv"));
glUniform1fv1 = Marshal.GetDelegateForFunctionPointer<Uniform1fvProc1>(handler("glUniform1fv"));
glUniform1fv2 = Marshal.GetDelegateForFunctionPointer<Uniform1fvProc2>(handler("glUniform1fv"));
glUniform2fv = Marshal.GetDelegateForFunctionPointer<Uniform2fvProc>(handler("glUniform2fv"));
glUniform2fv1 = Marshal.GetDelegateForFunctionPointer<Uniform2fvProc1>(handler("glUniform2fv"));
glUniform2fv2 = Marshal.GetDelegateForFunctionPointer<Uniform2fvProc2>(handler("glUniform2fv"));
glUniform3fv = Marshal.GetDelegateForFunctionPointer<Uniform3fvProc>(handler("glUniform3fv"));
glUniform3fv1 = Marshal.GetDelegateForFunctionPointer<Uniform3fvProc1>(handler("glUniform3fv"));
glUniform3fv2 = Marshal.GetDelegateForFunctionPointer<Uniform3fvProc2>(handler("glUniform3fv"));
glUniform4fv = Marshal.GetDelegateForFunctionPointer<Uniform4fvProc>(handler("glUniform4fv"));
glUniform4fv1 = Marshal.GetDelegateForFunctionPointer<Uniform4fvProc1>(handler("glUniform4fv"));
glUniform4fv2 = Marshal.GetDelegateForFunctionPointer<Uniform4fvProc2>(handler("glUniform4fv"));
glUniform1iv = Marshal.GetDelegateForFunctionPointer<Uniform1ivProc>(handler("glUniform1iv"));
glUniform1iv1 = Marshal.GetDelegateForFunctionPointer<Uniform1ivProc1>(handler("glUniform1iv"));
glUniform1iv2 = Marshal.GetDelegateForFunctionPointer<Uniform1ivProc2>(handler("glUniform1iv"));
glUniform2iv = Marshal.GetDelegateForFunctionPointer<Uniform2ivProc>(handler("glUniform2iv"));
glUniform2iv1 = Marshal.GetDelegateForFunctionPointer<Uniform2ivProc1>(handler("glUniform2iv"));
glUniform2iv2 = Marshal.GetDelegateForFunctionPointer<Uniform2ivProc2>(handler("glUniform2iv"));
glUniform3iv = Marshal.GetDelegateForFunctionPointer<Uniform3ivProc>(handler("glUniform3iv"));
glUniform3iv1 = Marshal.GetDelegateForFunctionPointer<Uniform3ivProc1>(handler("glUniform3iv"));
glUniform3iv2 = Marshal.GetDelegateForFunctionPointer<Uniform3ivProc2>(handler("glUniform3iv"));
glUniform4iv = Marshal.GetDelegateForFunctionPointer<Uniform4ivProc>(handler("glUniform4iv"));
glUniform4iv1 = Marshal.GetDelegateForFunctionPointer<Uniform4ivProc1>(handler("glUniform4iv"));
glUniform4iv2 = Marshal.GetDelegateForFunctionPointer<Uniform4ivProc2>(handler("glUniform4iv"));
glUniformMatrix2fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix2fvProc>(handler("glUniformMatrix2fv"));
glUniformMatrix2fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix2fvProc1>(handler("glUniformMatrix2fv"));
glUniformMatrix2fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix2fvProc2>(handler("glUniformMatrix2fv"));
glUniformMatrix3fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix3fvProc>(handler("glUniformMatrix3fv"));
glUniformMatrix3fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix3fvProc1>(handler("glUniformMatrix3fv"));
glUniformMatrix3fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix3fvProc2>(handler("glUniformMatrix3fv"));
glUniformMatrix4fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix4fvProc>(handler("glUniformMatrix4fv"));
glUniformMatrix4fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix4fvProc1>(handler("glUniformMatrix4fv"));
glUniformMatrix4fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix4fvProc2>(handler("glUniformMatrix4fv"));
glValidateProgram = Marshal.GetDelegateForFunctionPointer<ValidateProgramProc>(handler("glValidateProgram"));
glVertexAttrib1d = Marshal.GetDelegateForFunctionPointer<VertexAttrib1dProc>(handler("glVertexAttrib1d"));
glVertexAttrib1dv = Marshal.GetDelegateForFunctionPointer<VertexAttrib1dvProc>(handler("glVertexAttrib1dv"));
glVertexAttrib1dv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib1dvProc1>(handler("glVertexAttrib1dv"));
glVertexAttrib1dv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib1dvProc2>(handler("glVertexAttrib1dv"));
glVertexAttrib1f = Marshal.GetDelegateForFunctionPointer<VertexAttrib1fProc>(handler("glVertexAttrib1f"));
glVertexAttrib1fv = Marshal.GetDelegateForFunctionPointer<VertexAttrib1fvProc>(handler("glVertexAttrib1fv"));
glVertexAttrib1fv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib1fvProc1>(handler("glVertexAttrib1fv"));
glVertexAttrib1fv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib1fvProc2>(handler("glVertexAttrib1fv"));
glVertexAttrib1s = Marshal.GetDelegateForFunctionPointer<VertexAttrib1sProc>(handler("glVertexAttrib1s"));
glVertexAttrib1sv = Marshal.GetDelegateForFunctionPointer<VertexAttrib1svProc>(handler("glVertexAttrib1sv"));
glVertexAttrib1sv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib1svProc1>(handler("glVertexAttrib1sv"));
glVertexAttrib1sv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib1svProc2>(handler("glVertexAttrib1sv"));
glVertexAttrib2d = Marshal.GetDelegateForFunctionPointer<VertexAttrib2dProc>(handler("glVertexAttrib2d"));
glVertexAttrib2dv = Marshal.GetDelegateForFunctionPointer<VertexAttrib2dvProc>(handler("glVertexAttrib2dv"));
glVertexAttrib2dv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib2dvProc1>(handler("glVertexAttrib2dv"));
glVertexAttrib2dv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib2dvProc2>(handler("glVertexAttrib2dv"));
glVertexAttrib2f = Marshal.GetDelegateForFunctionPointer<VertexAttrib2fProc>(handler("glVertexAttrib2f"));
glVertexAttrib2fv = Marshal.GetDelegateForFunctionPointer<VertexAttrib2fvProc>(handler("glVertexAttrib2fv"));
glVertexAttrib2fv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib2fvProc1>(handler("glVertexAttrib2fv"));
glVertexAttrib2fv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib2fvProc2>(handler("glVertexAttrib2fv"));
glVertexAttrib2s = Marshal.GetDelegateForFunctionPointer<VertexAttrib2sProc>(handler("glVertexAttrib2s"));
glVertexAttrib2sv = Marshal.GetDelegateForFunctionPointer<VertexAttrib2svProc>(handler("glVertexAttrib2sv"));
glVertexAttrib2sv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib2svProc1>(handler("glVertexAttrib2sv"));
glVertexAttrib2sv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib2svProc2>(handler("glVertexAttrib2sv"));
glVertexAttrib3d = Marshal.GetDelegateForFunctionPointer<VertexAttrib3dProc>(handler("glVertexAttrib3d"));
glVertexAttrib3dv = Marshal.GetDelegateForFunctionPointer<VertexAttrib3dvProc>(handler("glVertexAttrib3dv"));
glVertexAttrib3dv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib3dvProc1>(handler("glVertexAttrib3dv"));
glVertexAttrib3dv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib3dvProc2>(handler("glVertexAttrib3dv"));
glVertexAttrib3f = Marshal.GetDelegateForFunctionPointer<VertexAttrib3fProc>(handler("glVertexAttrib3f"));
glVertexAttrib3fv = Marshal.GetDelegateForFunctionPointer<VertexAttrib3fvProc>(handler("glVertexAttrib3fv"));
glVertexAttrib3fv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib3fvProc1>(handler("glVertexAttrib3fv"));
glVertexAttrib3fv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib3fvProc2>(handler("glVertexAttrib3fv"));
glVertexAttrib3s = Marshal.GetDelegateForFunctionPointer<VertexAttrib3sProc>(handler("glVertexAttrib3s"));
glVertexAttrib3sv = Marshal.GetDelegateForFunctionPointer<VertexAttrib3svProc>(handler("glVertexAttrib3sv"));
glVertexAttrib3sv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib3svProc1>(handler("glVertexAttrib3sv"));
glVertexAttrib3sv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib3svProc2>(handler("glVertexAttrib3sv"));
glVertexAttrib4Nbv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NbvProc>(handler("glVertexAttrib4Nbv"));
glVertexAttrib4Nbv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NbvProc1>(handler("glVertexAttrib4Nbv"));
glVertexAttrib4Nbv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NbvProc2>(handler("glVertexAttrib4Nbv"));
glVertexAttrib4Niv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NivProc>(handler("glVertexAttrib4Niv"));
glVertexAttrib4Niv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NivProc1>(handler("glVertexAttrib4Niv"));
glVertexAttrib4Niv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NivProc2>(handler("glVertexAttrib4Niv"));
glVertexAttrib4Nsv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NsvProc>(handler("glVertexAttrib4Nsv"));
glVertexAttrib4Nsv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NsvProc1>(handler("glVertexAttrib4Nsv"));
glVertexAttrib4Nsv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NsvProc2>(handler("glVertexAttrib4Nsv"));
glVertexAttrib4Nub = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NubProc>(handler("glVertexAttrib4Nub"));
glVertexAttrib4Nubv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NubvProc>(handler("glVertexAttrib4Nubv"));
glVertexAttrib4Nubv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NubvProc1>(handler("glVertexAttrib4Nubv"));
glVertexAttrib4Nubv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NubvProc2>(handler("glVertexAttrib4Nubv"));
glVertexAttrib4Nuiv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NuivProc>(handler("glVertexAttrib4Nuiv"));
glVertexAttrib4Nuiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NuivProc1>(handler("glVertexAttrib4Nuiv"));
glVertexAttrib4Nuiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NuivProc2>(handler("glVertexAttrib4Nuiv"));
glVertexAttrib4Nusv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NusvProc>(handler("glVertexAttrib4Nusv"));
glVertexAttrib4Nusv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NusvProc1>(handler("glVertexAttrib4Nusv"));
glVertexAttrib4Nusv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4NusvProc2>(handler("glVertexAttrib4Nusv"));
glVertexAttrib4bv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4bvProc>(handler("glVertexAttrib4bv"));
glVertexAttrib4bv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4bvProc1>(handler("glVertexAttrib4bv"));
glVertexAttrib4bv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4bvProc2>(handler("glVertexAttrib4bv"));
glVertexAttrib4d = Marshal.GetDelegateForFunctionPointer<VertexAttrib4dProc>(handler("glVertexAttrib4d"));
glVertexAttrib4dv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4dvProc>(handler("glVertexAttrib4dv"));
glVertexAttrib4dv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4dvProc1>(handler("glVertexAttrib4dv"));
glVertexAttrib4dv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4dvProc2>(handler("glVertexAttrib4dv"));
glVertexAttrib4f = Marshal.GetDelegateForFunctionPointer<VertexAttrib4fProc>(handler("glVertexAttrib4f"));
glVertexAttrib4fv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4fvProc>(handler("glVertexAttrib4fv"));
glVertexAttrib4fv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4fvProc1>(handler("glVertexAttrib4fv"));
glVertexAttrib4fv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4fvProc2>(handler("glVertexAttrib4fv"));
glVertexAttrib4iv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4ivProc>(handler("glVertexAttrib4iv"));
glVertexAttrib4iv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4ivProc1>(handler("glVertexAttrib4iv"));
glVertexAttrib4iv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4ivProc2>(handler("glVertexAttrib4iv"));
glVertexAttrib4s = Marshal.GetDelegateForFunctionPointer<VertexAttrib4sProc>(handler("glVertexAttrib4s"));
glVertexAttrib4sv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4svProc>(handler("glVertexAttrib4sv"));
glVertexAttrib4sv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4svProc1>(handler("glVertexAttrib4sv"));
glVertexAttrib4sv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4svProc2>(handler("glVertexAttrib4sv"));
glVertexAttrib4ubv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4ubvProc>(handler("glVertexAttrib4ubv"));
glVertexAttrib4ubv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4ubvProc1>(handler("glVertexAttrib4ubv"));
glVertexAttrib4ubv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4ubvProc2>(handler("glVertexAttrib4ubv"));
glVertexAttrib4uiv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4uivProc>(handler("glVertexAttrib4uiv"));
glVertexAttrib4uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4uivProc1>(handler("glVertexAttrib4uiv"));
glVertexAttrib4uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4uivProc2>(handler("glVertexAttrib4uiv"));
glVertexAttrib4usv = Marshal.GetDelegateForFunctionPointer<VertexAttrib4usvProc>(handler("glVertexAttrib4usv"));
glVertexAttrib4usv1 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4usvProc1>(handler("glVertexAttrib4usv"));
glVertexAttrib4usv2 = Marshal.GetDelegateForFunctionPointer<VertexAttrib4usvProc2>(handler("glVertexAttrib4usv"));
glVertexAttribPointer = Marshal.GetDelegateForFunctionPointer<VertexAttribPointerProc>(handler("glVertexAttribPointer"));
glVertexAttribPointer1 = Marshal.GetDelegateForFunctionPointer<VertexAttribPointerProc1>(handler("glVertexAttribPointer"));
glUniformMatrix2x3fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix2x3fvProc>(handler("glUniformMatrix2x3fv"));
glUniformMatrix2x3fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix2x3fvProc1>(handler("glUniformMatrix2x3fv"));
glUniformMatrix2x3fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix2x3fvProc2>(handler("glUniformMatrix2x3fv"));
glUniformMatrix3x2fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix3x2fvProc>(handler("glUniformMatrix3x2fv"));
glUniformMatrix3x2fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix3x2fvProc1>(handler("glUniformMatrix3x2fv"));
glUniformMatrix3x2fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix3x2fvProc2>(handler("glUniformMatrix3x2fv"));
glUniformMatrix2x4fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix2x4fvProc>(handler("glUniformMatrix2x4fv"));
glUniformMatrix2x4fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix2x4fvProc1>(handler("glUniformMatrix2x4fv"));
glUniformMatrix2x4fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix2x4fvProc2>(handler("glUniformMatrix2x4fv"));
glUniformMatrix4x2fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix4x2fvProc>(handler("glUniformMatrix4x2fv"));
glUniformMatrix4x2fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix4x2fvProc1>(handler("glUniformMatrix4x2fv"));
glUniformMatrix4x2fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix4x2fvProc2>(handler("glUniformMatrix4x2fv"));
glUniformMatrix3x4fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix3x4fvProc>(handler("glUniformMatrix3x4fv"));
glUniformMatrix3x4fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix3x4fvProc1>(handler("glUniformMatrix3x4fv"));
glUniformMatrix3x4fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix3x4fvProc2>(handler("glUniformMatrix3x4fv"));
glUniformMatrix4x3fv = Marshal.GetDelegateForFunctionPointer<UniformMatrix4x3fvProc>(handler("glUniformMatrix4x3fv"));
glUniformMatrix4x3fv1 = Marshal.GetDelegateForFunctionPointer<UniformMatrix4x3fvProc1>(handler("glUniformMatrix4x3fv"));
glUniformMatrix4x3fv2 = Marshal.GetDelegateForFunctionPointer<UniformMatrix4x3fvProc2>(handler("glUniformMatrix4x3fv"));
glColorMaski = Marshal.GetDelegateForFunctionPointer<ColorMaskiProc>(handler("glColorMaski"));
glGetBooleani_v = Marshal.GetDelegateForFunctionPointer<GetBooleani_vProc>(handler("glGetBooleani_v"));
glGetBooleani_v1 = Marshal.GetDelegateForFunctionPointer<GetBooleani_vProc1>(handler("glGetBooleani_v"));
glGetBooleani_v2 = Marshal.GetDelegateForFunctionPointer<GetBooleani_vProc2>(handler("glGetBooleani_v"));
glEnablei = Marshal.GetDelegateForFunctionPointer<EnableiProc>(handler("glEnablei"));
glDisablei = Marshal.GetDelegateForFunctionPointer<DisableiProc>(handler("glDisablei"));
glIsEnabledi = Marshal.GetDelegateForFunctionPointer<IsEnablediProc>(handler("glIsEnabledi"));
glBeginTransformFeedback = Marshal.GetDelegateForFunctionPointer<BeginTransformFeedbackProc>(handler("glBeginTransformFeedback"));
glTransformFeedbackVaryings = Marshal.GetDelegateForFunctionPointer<TransformFeedbackVaryingsProc>(handler("glTransformFeedbackVaryings"));
glTransformFeedbackVaryings1 = Marshal.GetDelegateForFunctionPointer<TransformFeedbackVaryingsProc1>(handler("glTransformFeedbackVaryings"));
glTransformFeedbackVaryings2 = Marshal.GetDelegateForFunctionPointer<TransformFeedbackVaryingsProc2>(handler("glTransformFeedbackVaryings"));
glGetTransformFeedbackVarying = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying1 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc1>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying2 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc2>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying3 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc3>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying4 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc4>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying5 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc5>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying6 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc6>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying7 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc7>(handler("glGetTransformFeedbackVarying"));
glGetTransformFeedbackVarying8 = Marshal.GetDelegateForFunctionPointer<GetTransformFeedbackVaryingProc8>(handler("glGetTransformFeedbackVarying"));
glClampColor = Marshal.GetDelegateForFunctionPointer<ClampColorProc>(handler("glClampColor"));
glBeginConditionalRender = Marshal.GetDelegateForFunctionPointer<BeginConditionalRenderProc>(handler("glBeginConditionalRender"));
glVertexAttribIPointer = Marshal.GetDelegateForFunctionPointer<VertexAttribIPointerProc>(handler("glVertexAttribIPointer"));
glVertexAttribIPointer1 = Marshal.GetDelegateForFunctionPointer<VertexAttribIPointerProc1>(handler("glVertexAttribIPointer"));
glGetVertexAttribIiv = Marshal.GetDelegateForFunctionPointer<GetVertexAttribIivProc>(handler("glGetVertexAttribIiv"));
glGetVertexAttribIiv1 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribIivProc1>(handler("glGetVertexAttribIiv"));
glGetVertexAttribIiv2 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribIivProc2>(handler("glGetVertexAttribIiv"));
glGetVertexAttribIuiv = Marshal.GetDelegateForFunctionPointer<GetVertexAttribIuivProc>(handler("glGetVertexAttribIuiv"));
glGetVertexAttribIuiv1 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribIuivProc1>(handler("glGetVertexAttribIuiv"));
glGetVertexAttribIuiv2 = Marshal.GetDelegateForFunctionPointer<GetVertexAttribIuivProc2>(handler("glGetVertexAttribIuiv"));
glVertexAttribI1i = Marshal.GetDelegateForFunctionPointer<VertexAttribI1iProc>(handler("glVertexAttribI1i"));
glVertexAttribI2i = Marshal.GetDelegateForFunctionPointer<VertexAttribI2iProc>(handler("glVertexAttribI2i"));
glVertexAttribI3i = Marshal.GetDelegateForFunctionPointer<VertexAttribI3iProc>(handler("glVertexAttribI3i"));
glVertexAttribI4i = Marshal.GetDelegateForFunctionPointer<VertexAttribI4iProc>(handler("glVertexAttribI4i"));
glVertexAttribI1ui = Marshal.GetDelegateForFunctionPointer<VertexAttribI1uiProc>(handler("glVertexAttribI1ui"));
glVertexAttribI2ui = Marshal.GetDelegateForFunctionPointer<VertexAttribI2uiProc>(handler("glVertexAttribI2ui"));
glVertexAttribI3ui = Marshal.GetDelegateForFunctionPointer<VertexAttribI3uiProc>(handler("glVertexAttribI3ui"));
glVertexAttribI4ui = Marshal.GetDelegateForFunctionPointer<VertexAttribI4uiProc>(handler("glVertexAttribI4ui"));
glVertexAttribI1iv = Marshal.GetDelegateForFunctionPointer<VertexAttribI1ivProc>(handler("glVertexAttribI1iv"));
glVertexAttribI1iv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI1ivProc1>(handler("glVertexAttribI1iv"));
glVertexAttribI1iv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI1ivProc2>(handler("glVertexAttribI1iv"));
glVertexAttribI2iv = Marshal.GetDelegateForFunctionPointer<VertexAttribI2ivProc>(handler("glVertexAttribI2iv"));
glVertexAttribI2iv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI2ivProc1>(handler("glVertexAttribI2iv"));
glVertexAttribI2iv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI2ivProc2>(handler("glVertexAttribI2iv"));
glVertexAttribI3iv = Marshal.GetDelegateForFunctionPointer<VertexAttribI3ivProc>(handler("glVertexAttribI3iv"));
glVertexAttribI3iv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI3ivProc1>(handler("glVertexAttribI3iv"));
glVertexAttribI3iv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI3ivProc2>(handler("glVertexAttribI3iv"));
glVertexAttribI4iv = Marshal.GetDelegateForFunctionPointer<VertexAttribI4ivProc>(handler("glVertexAttribI4iv"));
glVertexAttribI4iv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4ivProc1>(handler("glVertexAttribI4iv"));
glVertexAttribI4iv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4ivProc2>(handler("glVertexAttribI4iv"));
glVertexAttribI1uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribI1uivProc>(handler("glVertexAttribI1uiv"));
glVertexAttribI1uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI1uivProc1>(handler("glVertexAttribI1uiv"));
glVertexAttribI1uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI1uivProc2>(handler("glVertexAttribI1uiv"));
glVertexAttribI2uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribI2uivProc>(handler("glVertexAttribI2uiv"));
glVertexAttribI2uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI2uivProc1>(handler("glVertexAttribI2uiv"));
glVertexAttribI2uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI2uivProc2>(handler("glVertexAttribI2uiv"));
glVertexAttribI3uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribI3uivProc>(handler("glVertexAttribI3uiv"));
glVertexAttribI3uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI3uivProc1>(handler("glVertexAttribI3uiv"));
glVertexAttribI3uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI3uivProc2>(handler("glVertexAttribI3uiv"));
glVertexAttribI4uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribI4uivProc>(handler("glVertexAttribI4uiv"));
glVertexAttribI4uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4uivProc1>(handler("glVertexAttribI4uiv"));
glVertexAttribI4uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4uivProc2>(handler("glVertexAttribI4uiv"));
glVertexAttribI4bv = Marshal.GetDelegateForFunctionPointer<VertexAttribI4bvProc>(handler("glVertexAttribI4bv"));
glVertexAttribI4bv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4bvProc1>(handler("glVertexAttribI4bv"));
glVertexAttribI4bv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4bvProc2>(handler("glVertexAttribI4bv"));
glVertexAttribI4sv = Marshal.GetDelegateForFunctionPointer<VertexAttribI4svProc>(handler("glVertexAttribI4sv"));
glVertexAttribI4sv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4svProc1>(handler("glVertexAttribI4sv"));
glVertexAttribI4sv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4svProc2>(handler("glVertexAttribI4sv"));
glVertexAttribI4ubv = Marshal.GetDelegateForFunctionPointer<VertexAttribI4ubvProc>(handler("glVertexAttribI4ubv"));
glVertexAttribI4ubv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4ubvProc1>(handler("glVertexAttribI4ubv"));
glVertexAttribI4ubv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4ubvProc2>(handler("glVertexAttribI4ubv"));
glVertexAttribI4usv = Marshal.GetDelegateForFunctionPointer<VertexAttribI4usvProc>(handler("glVertexAttribI4usv"));
glVertexAttribI4usv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4usvProc1>(handler("glVertexAttribI4usv"));
glVertexAttribI4usv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribI4usvProc2>(handler("glVertexAttribI4usv"));
glGetUniformuiv = Marshal.GetDelegateForFunctionPointer<GetUniformuivProc>(handler("glGetUniformuiv"));
glGetUniformuiv1 = Marshal.GetDelegateForFunctionPointer<GetUniformuivProc1>(handler("glGetUniformuiv"));
glGetUniformuiv2 = Marshal.GetDelegateForFunctionPointer<GetUniformuivProc2>(handler("glGetUniformuiv"));
glBindFragDataLocation = Marshal.GetDelegateForFunctionPointer<BindFragDataLocationProc>(handler("glBindFragDataLocation"));
glBindFragDataLocation1 = Marshal.GetDelegateForFunctionPointer<BindFragDataLocationProc1>(handler("glBindFragDataLocation"));
glBindFragDataLocation2 = Marshal.GetDelegateForFunctionPointer<BindFragDataLocationProc2>(handler("glBindFragDataLocation"));
glGetFragDataLocation = Marshal.GetDelegateForFunctionPointer<GetFragDataLocationProc>(handler("glGetFragDataLocation"));
glGetFragDataLocation1 = Marshal.GetDelegateForFunctionPointer<GetFragDataLocationProc1>(handler("glGetFragDataLocation"));
glGetFragDataLocation2 = Marshal.GetDelegateForFunctionPointer<GetFragDataLocationProc2>(handler("glGetFragDataLocation"));
glUniform1ui = Marshal.GetDelegateForFunctionPointer<Uniform1uiProc>(handler("glUniform1ui"));
glUniform2ui = Marshal.GetDelegateForFunctionPointer<Uniform2uiProc>(handler("glUniform2ui"));
glUniform3ui = Marshal.GetDelegateForFunctionPointer<Uniform3uiProc>(handler("glUniform3ui"));
glUniform4ui = Marshal.GetDelegateForFunctionPointer<Uniform4uiProc>(handler("glUniform4ui"));
glUniform1uiv = Marshal.GetDelegateForFunctionPointer<Uniform1uivProc>(handler("glUniform1uiv"));
glUniform1uiv1 = Marshal.GetDelegateForFunctionPointer<Uniform1uivProc1>(handler("glUniform1uiv"));
glUniform1uiv2 = Marshal.GetDelegateForFunctionPointer<Uniform1uivProc2>(handler("glUniform1uiv"));
glUniform2uiv = Marshal.GetDelegateForFunctionPointer<Uniform2uivProc>(handler("glUniform2uiv"));
glUniform2uiv1 = Marshal.GetDelegateForFunctionPointer<Uniform2uivProc1>(handler("glUniform2uiv"));
glUniform2uiv2 = Marshal.GetDelegateForFunctionPointer<Uniform2uivProc2>(handler("glUniform2uiv"));
glUniform3uiv = Marshal.GetDelegateForFunctionPointer<Uniform3uivProc>(handler("glUniform3uiv"));
glUniform3uiv1 = Marshal.GetDelegateForFunctionPointer<Uniform3uivProc1>(handler("glUniform3uiv"));
glUniform3uiv2 = Marshal.GetDelegateForFunctionPointer<Uniform3uivProc2>(handler("glUniform3uiv"));
glUniform4uiv = Marshal.GetDelegateForFunctionPointer<Uniform4uivProc>(handler("glUniform4uiv"));
glUniform4uiv1 = Marshal.GetDelegateForFunctionPointer<Uniform4uivProc1>(handler("glUniform4uiv"));
glUniform4uiv2 = Marshal.GetDelegateForFunctionPointer<Uniform4uivProc2>(handler("glUniform4uiv"));
glTexParameterIiv = Marshal.GetDelegateForFunctionPointer<TexParameterIivProc>(handler("glTexParameterIiv"));
glTexParameterIiv1 = Marshal.GetDelegateForFunctionPointer<TexParameterIivProc1>(handler("glTexParameterIiv"));
glTexParameterIiv2 = Marshal.GetDelegateForFunctionPointer<TexParameterIivProc2>(handler("glTexParameterIiv"));
glTexParameterIuiv = Marshal.GetDelegateForFunctionPointer<TexParameterIuivProc>(handler("glTexParameterIuiv"));
glTexParameterIuiv1 = Marshal.GetDelegateForFunctionPointer<TexParameterIuivProc1>(handler("glTexParameterIuiv"));
glTexParameterIuiv2 = Marshal.GetDelegateForFunctionPointer<TexParameterIuivProc2>(handler("glTexParameterIuiv"));
glGetTexParameterIiv = Marshal.GetDelegateForFunctionPointer<GetTexParameterIivProc>(handler("glGetTexParameterIiv"));
glGetTexParameterIiv1 = Marshal.GetDelegateForFunctionPointer<GetTexParameterIivProc1>(handler("glGetTexParameterIiv"));
glGetTexParameterIiv2 = Marshal.GetDelegateForFunctionPointer<GetTexParameterIivProc2>(handler("glGetTexParameterIiv"));
glGetTexParameterIuiv = Marshal.GetDelegateForFunctionPointer<GetTexParameterIuivProc>(handler("glGetTexParameterIuiv"));
glGetTexParameterIuiv1 = Marshal.GetDelegateForFunctionPointer<GetTexParameterIuivProc1>(handler("glGetTexParameterIuiv"));
glGetTexParameterIuiv2 = Marshal.GetDelegateForFunctionPointer<GetTexParameterIuivProc2>(handler("glGetTexParameterIuiv"));
glClearBufferiv = Marshal.GetDelegateForFunctionPointer<ClearBufferivProc>(handler("glClearBufferiv"));
glClearBufferiv1 = Marshal.GetDelegateForFunctionPointer<ClearBufferivProc1>(handler("glClearBufferiv"));
glClearBufferiv2 = Marshal.GetDelegateForFunctionPointer<ClearBufferivProc2>(handler("glClearBufferiv"));
glClearBufferuiv = Marshal.GetDelegateForFunctionPointer<ClearBufferuivProc>(handler("glClearBufferuiv"));
glClearBufferuiv1 = Marshal.GetDelegateForFunctionPointer<ClearBufferuivProc1>(handler("glClearBufferuiv"));
glClearBufferuiv2 = Marshal.GetDelegateForFunctionPointer<ClearBufferuivProc2>(handler("glClearBufferuiv"));
glClearBufferfv = Marshal.GetDelegateForFunctionPointer<ClearBufferfvProc>(handler("glClearBufferfv"));
glClearBufferfv1 = Marshal.GetDelegateForFunctionPointer<ClearBufferfvProc1>(handler("glClearBufferfv"));
glClearBufferfv2 = Marshal.GetDelegateForFunctionPointer<ClearBufferfvProc2>(handler("glClearBufferfv"));
glClearBufferfi = Marshal.GetDelegateForFunctionPointer<ClearBufferfiProc>(handler("glClearBufferfi"));
glGetStringi = Marshal.GetDelegateForFunctionPointer<GetStringiProc>(handler("glGetStringi"));
glIsRenderbuffer = Marshal.GetDelegateForFunctionPointer<IsRenderbufferProc>(handler("glIsRenderbuffer"));
glBindRenderbuffer = Marshal.GetDelegateForFunctionPointer<BindRenderbufferProc>(handler("glBindRenderbuffer"));
glDeleteRenderbuffers = Marshal.GetDelegateForFunctionPointer<DeleteRenderbuffersProc>(handler("glDeleteRenderbuffers"));
glDeleteRenderbuffers1 = Marshal.GetDelegateForFunctionPointer<DeleteRenderbuffersProc1>(handler("glDeleteRenderbuffers"));
glDeleteRenderbuffers2 = Marshal.GetDelegateForFunctionPointer<DeleteRenderbuffersProc2>(handler("glDeleteRenderbuffers"));
glGenRenderbuffers = Marshal.GetDelegateForFunctionPointer<GenRenderbuffersProc>(handler("glGenRenderbuffers"));
glGenRenderbuffers1 = Marshal.GetDelegateForFunctionPointer<GenRenderbuffersProc1>(handler("glGenRenderbuffers"));
glGenRenderbuffers2 = Marshal.GetDelegateForFunctionPointer<GenRenderbuffersProc2>(handler("glGenRenderbuffers"));
glRenderbufferStorage = Marshal.GetDelegateForFunctionPointer<RenderbufferStorageProc>(handler("glRenderbufferStorage"));
glGetRenderbufferParameteriv = Marshal.GetDelegateForFunctionPointer<GetRenderbufferParameterivProc>(handler("glGetRenderbufferParameteriv"));
glGetRenderbufferParameteriv1 = Marshal.GetDelegateForFunctionPointer<GetRenderbufferParameterivProc1>(handler("glGetRenderbufferParameteriv"));
glGetRenderbufferParameteriv2 = Marshal.GetDelegateForFunctionPointer<GetRenderbufferParameterivProc2>(handler("glGetRenderbufferParameteriv"));
glIsFramebuffer = Marshal.GetDelegateForFunctionPointer<IsFramebufferProc>(handler("glIsFramebuffer"));
glBindFramebuffer = Marshal.GetDelegateForFunctionPointer<BindFramebufferProc>(handler("glBindFramebuffer"));
glDeleteFramebuffers = Marshal.GetDelegateForFunctionPointer<DeleteFramebuffersProc>(handler("glDeleteFramebuffers"));
glDeleteFramebuffers1 = Marshal.GetDelegateForFunctionPointer<DeleteFramebuffersProc1>(handler("glDeleteFramebuffers"));
glDeleteFramebuffers2 = Marshal.GetDelegateForFunctionPointer<DeleteFramebuffersProc2>(handler("glDeleteFramebuffers"));
glGenFramebuffers = Marshal.GetDelegateForFunctionPointer<GenFramebuffersProc>(handler("glGenFramebuffers"));
glGenFramebuffers1 = Marshal.GetDelegateForFunctionPointer<GenFramebuffersProc1>(handler("glGenFramebuffers"));
glGenFramebuffers2 = Marshal.GetDelegateForFunctionPointer<GenFramebuffersProc2>(handler("glGenFramebuffers"));
glCheckFramebufferStatus = Marshal.GetDelegateForFunctionPointer<CheckFramebufferStatusProc>(handler("glCheckFramebufferStatus"));
glFramebufferTexture1D = Marshal.GetDelegateForFunctionPointer<FramebufferTexture1DProc>(handler("glFramebufferTexture1D"));
glFramebufferTexture2D = Marshal.GetDelegateForFunctionPointer<FramebufferTexture2DProc>(handler("glFramebufferTexture2D"));
glFramebufferTexture3D = Marshal.GetDelegateForFunctionPointer<FramebufferTexture3DProc>(handler("glFramebufferTexture3D"));
glFramebufferRenderbuffer = Marshal.GetDelegateForFunctionPointer<FramebufferRenderbufferProc>(handler("glFramebufferRenderbuffer"));
glGetFramebufferAttachmentParameteriv = Marshal.GetDelegateForFunctionPointer<GetFramebufferAttachmentParameterivProc>(handler("glGetFramebufferAttachmentParameteriv"));
glGetFramebufferAttachmentParameteriv1 = Marshal.GetDelegateForFunctionPointer<GetFramebufferAttachmentParameterivProc1>(handler("glGetFramebufferAttachmentParameteriv"));
glGetFramebufferAttachmentParameteriv2 = Marshal.GetDelegateForFunctionPointer<GetFramebufferAttachmentParameterivProc2>(handler("glGetFramebufferAttachmentParameteriv"));
glGenerateMipmap = Marshal.GetDelegateForFunctionPointer<GenerateMipmapProc>(handler("glGenerateMipmap"));
glBlitFramebuffer = Marshal.GetDelegateForFunctionPointer<BlitFramebufferProc>(handler("glBlitFramebuffer"));
glRenderbufferStorageMultisample = Marshal.GetDelegateForFunctionPointer<RenderbufferStorageMultisampleProc>(handler("glRenderbufferStorageMultisample"));
glFramebufferTextureLayer = Marshal.GetDelegateForFunctionPointer<FramebufferTextureLayerProc>(handler("glFramebufferTextureLayer"));
glMapBufferRange = Marshal.GetDelegateForFunctionPointer<MapBufferRangeProc>(handler("glMapBufferRange"));
glFlushMappedBufferRange = Marshal.GetDelegateForFunctionPointer<FlushMappedBufferRangeProc>(handler("glFlushMappedBufferRange"));
glBindVertexArray = Marshal.GetDelegateForFunctionPointer<BindVertexArrayProc>(handler("glBindVertexArray"));
glDeleteVertexArrays = Marshal.GetDelegateForFunctionPointer<DeleteVertexArraysProc>(handler("glDeleteVertexArrays"));
glDeleteVertexArrays1 = Marshal.GetDelegateForFunctionPointer<DeleteVertexArraysProc1>(handler("glDeleteVertexArrays"));
glDeleteVertexArrays2 = Marshal.GetDelegateForFunctionPointer<DeleteVertexArraysProc2>(handler("glDeleteVertexArrays"));
glGenVertexArrays = Marshal.GetDelegateForFunctionPointer<GenVertexArraysProc>(handler("glGenVertexArrays"));
glGenVertexArrays1 = Marshal.GetDelegateForFunctionPointer<GenVertexArraysProc1>(handler("glGenVertexArrays"));
glGenVertexArrays2 = Marshal.GetDelegateForFunctionPointer<GenVertexArraysProc2>(handler("glGenVertexArrays"));
glIsVertexArray = Marshal.GetDelegateForFunctionPointer<IsVertexArrayProc>(handler("glIsVertexArray"));
glDrawArraysInstanced = Marshal.GetDelegateForFunctionPointer<DrawArraysInstancedProc>(handler("glDrawArraysInstanced"));
glDrawElementsInstanced = Marshal.GetDelegateForFunctionPointer<DrawElementsInstancedProc>(handler("glDrawElementsInstanced"));
glDrawElementsInstanced1 = Marshal.GetDelegateForFunctionPointer<DrawElementsInstancedProc1>(handler("glDrawElementsInstanced"));
glTexBuffer = Marshal.GetDelegateForFunctionPointer<TexBufferProc>(handler("glTexBuffer"));
glPrimitiveRestartIndex = Marshal.GetDelegateForFunctionPointer<PrimitiveRestartIndexProc>(handler("glPrimitiveRestartIndex"));
glCopyBufferSubData = Marshal.GetDelegateForFunctionPointer<CopyBufferSubDataProc>(handler("glCopyBufferSubData"));
glGetUniformIndices = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc>(handler("glGetUniformIndices"));
glGetUniformIndices1 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc1>(handler("glGetUniformIndices"));
glGetUniformIndices2 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc2>(handler("glGetUniformIndices"));
glGetUniformIndices3 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc3>(handler("glGetUniformIndices"));
glGetUniformIndices4 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc4>(handler("glGetUniformIndices"));
glGetUniformIndices5 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc5>(handler("glGetUniformIndices"));
glGetUniformIndices6 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc6>(handler("glGetUniformIndices"));
glGetUniformIndices7 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc7>(handler("glGetUniformIndices"));
glGetUniformIndices8 = Marshal.GetDelegateForFunctionPointer<GetUniformIndicesProc8>(handler("glGetUniformIndices"));
glGetActiveUniformsiv = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv1 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc1>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv2 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc2>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv3 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc3>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv4 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc4>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv5 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc5>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv6 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc6>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv7 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc7>(handler("glGetActiveUniformsiv"));
glGetActiveUniformsiv8 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformsivProc8>(handler("glGetActiveUniformsiv"));
glGetActiveUniformName = Marshal.GetDelegateForFunctionPointer<GetActiveUniformNameProc>(handler("glGetActiveUniformName"));
glGetActiveUniformName1 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformNameProc1>(handler("glGetActiveUniformName"));
glGetActiveUniformName2 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformNameProc2>(handler("glGetActiveUniformName"));
glGetUniformBlockIndex = Marshal.GetDelegateForFunctionPointer<GetUniformBlockIndexProc>(handler("glGetUniformBlockIndex"));
glGetUniformBlockIndex1 = Marshal.GetDelegateForFunctionPointer<GetUniformBlockIndexProc1>(handler("glGetUniformBlockIndex"));
glGetUniformBlockIndex2 = Marshal.GetDelegateForFunctionPointer<GetUniformBlockIndexProc2>(handler("glGetUniformBlockIndex"));
glGetActiveUniformBlockiv = Marshal.GetDelegateForFunctionPointer<GetActiveUniformBlockivProc>(handler("glGetActiveUniformBlockiv"));
glGetActiveUniformBlockiv1 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformBlockivProc1>(handler("glGetActiveUniformBlockiv"));
glGetActiveUniformBlockiv2 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformBlockivProc2>(handler("glGetActiveUniformBlockiv"));
glGetActiveUniformBlockName = Marshal.GetDelegateForFunctionPointer<GetActiveUniformBlockNameProc>(handler("glGetActiveUniformBlockName"));
glGetActiveUniformBlockName1 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformBlockNameProc1>(handler("glGetActiveUniformBlockName"));
glGetActiveUniformBlockName2 = Marshal.GetDelegateForFunctionPointer<GetActiveUniformBlockNameProc2>(handler("glGetActiveUniformBlockName"));
glUniformBlockBinding = Marshal.GetDelegateForFunctionPointer<UniformBlockBindingProc>(handler("glUniformBlockBinding"));
glDrawElementsBaseVertex = Marshal.GetDelegateForFunctionPointer<DrawElementsBaseVertexProc>(handler("glDrawElementsBaseVertex"));
glDrawElementsBaseVertex1 = Marshal.GetDelegateForFunctionPointer<DrawElementsBaseVertexProc1>(handler("glDrawElementsBaseVertex"));
glDrawRangeElementsBaseVertex = Marshal.GetDelegateForFunctionPointer<DrawRangeElementsBaseVertexProc>(handler("glDrawRangeElementsBaseVertex"));
glDrawRangeElementsBaseVertex1 = Marshal.GetDelegateForFunctionPointer<DrawRangeElementsBaseVertexProc1>(handler("glDrawRangeElementsBaseVertex"));
glDrawElementsInstancedBaseVertex = Marshal.GetDelegateForFunctionPointer<DrawElementsInstancedBaseVertexProc>(handler("glDrawElementsInstancedBaseVertex"));
glDrawElementsInstancedBaseVertex1 = Marshal.GetDelegateForFunctionPointer<DrawElementsInstancedBaseVertexProc1>(handler("glDrawElementsInstancedBaseVertex"));
glMultiDrawElementsBaseVertex = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsBaseVertexProc>(handler("glMultiDrawElementsBaseVertex"));
glMultiDrawElementsBaseVertex1 = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsBaseVertexProc1>(handler("glMultiDrawElementsBaseVertex"));
glMultiDrawElementsBaseVertex2 = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsBaseVertexProc2>(handler("glMultiDrawElementsBaseVertex"));
glMultiDrawElementsBaseVertex3 = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsBaseVertexProc3>(handler("glMultiDrawElementsBaseVertex"));
glMultiDrawElementsBaseVertex4 = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsBaseVertexProc4>(handler("glMultiDrawElementsBaseVertex"));
glMultiDrawElementsBaseVertex5 = Marshal.GetDelegateForFunctionPointer<MultiDrawElementsBaseVertexProc5>(handler("glMultiDrawElementsBaseVertex"));
glProvokingVertex = Marshal.GetDelegateForFunctionPointer<ProvokingVertexProc>(handler("glProvokingVertex"));
glFenceSync = Marshal.GetDelegateForFunctionPointer<FenceSyncProc>(handler("glFenceSync"));
glIsSync = Marshal.GetDelegateForFunctionPointer<IsSyncProc>(handler("glIsSync"));
glDeleteSync = Marshal.GetDelegateForFunctionPointer<DeleteSyncProc>(handler("glDeleteSync"));
glClientWaitSync = Marshal.GetDelegateForFunctionPointer<ClientWaitSyncProc>(handler("glClientWaitSync"));
glWaitSync = Marshal.GetDelegateForFunctionPointer<WaitSyncProc>(handler("glWaitSync"));
glGetInteger64v = Marshal.GetDelegateForFunctionPointer<GetInteger64vProc>(handler("glGetInteger64v"));
glGetInteger64v1 = Marshal.GetDelegateForFunctionPointer<GetInteger64vProc1>(handler("glGetInteger64v"));
glGetInteger64v2 = Marshal.GetDelegateForFunctionPointer<GetInteger64vProc2>(handler("glGetInteger64v"));
glGetSynciv = Marshal.GetDelegateForFunctionPointer<GetSyncivProc>(handler("glGetSynciv"));
glGetSynciv1 = Marshal.GetDelegateForFunctionPointer<GetSyncivProc1>(handler("glGetSynciv"));
glGetSynciv2 = Marshal.GetDelegateForFunctionPointer<GetSyncivProc2>(handler("glGetSynciv"));
glGetInteger64i_v = Marshal.GetDelegateForFunctionPointer<GetInteger64i_vProc>(handler("glGetInteger64i_v"));
glGetInteger64i_v1 = Marshal.GetDelegateForFunctionPointer<GetInteger64i_vProc1>(handler("glGetInteger64i_v"));
glGetInteger64i_v2 = Marshal.GetDelegateForFunctionPointer<GetInteger64i_vProc2>(handler("glGetInteger64i_v"));
glGetBufferParameteri64v = Marshal.GetDelegateForFunctionPointer<GetBufferParameteri64vProc>(handler("glGetBufferParameteri64v"));
glGetBufferParameteri64v1 = Marshal.GetDelegateForFunctionPointer<GetBufferParameteri64vProc1>(handler("glGetBufferParameteri64v"));
glGetBufferParameteri64v2 = Marshal.GetDelegateForFunctionPointer<GetBufferParameteri64vProc2>(handler("glGetBufferParameteri64v"));
glFramebufferTexture = Marshal.GetDelegateForFunctionPointer<FramebufferTextureProc>(handler("glFramebufferTexture"));
glTexImage2DMultisample = Marshal.GetDelegateForFunctionPointer<TexImage2DMultisampleProc>(handler("glTexImage2DMultisample"));
glTexImage3DMultisample = Marshal.GetDelegateForFunctionPointer<TexImage3DMultisampleProc>(handler("glTexImage3DMultisample"));
glGetMultisamplefv = Marshal.GetDelegateForFunctionPointer<GetMultisamplefvProc>(handler("glGetMultisamplefv"));
glGetMultisamplefv1 = Marshal.GetDelegateForFunctionPointer<GetMultisamplefvProc1>(handler("glGetMultisamplefv"));
glGetMultisamplefv2 = Marshal.GetDelegateForFunctionPointer<GetMultisamplefvProc2>(handler("glGetMultisamplefv"));
glSampleMaski = Marshal.GetDelegateForFunctionPointer<SampleMaskiProc>(handler("glSampleMaski"));
glBindFragDataLocationIndexed = Marshal.GetDelegateForFunctionPointer<BindFragDataLocationIndexedProc>(handler("glBindFragDataLocationIndexed"));
glBindFragDataLocationIndexed1 = Marshal.GetDelegateForFunctionPointer<BindFragDataLocationIndexedProc1>(handler("glBindFragDataLocationIndexed"));
glBindFragDataLocationIndexed2 = Marshal.GetDelegateForFunctionPointer<BindFragDataLocationIndexedProc2>(handler("glBindFragDataLocationIndexed"));
glGetFragDataIndex = Marshal.GetDelegateForFunctionPointer<GetFragDataIndexProc>(handler("glGetFragDataIndex"));
glGetFragDataIndex1 = Marshal.GetDelegateForFunctionPointer<GetFragDataIndexProc1>(handler("glGetFragDataIndex"));
glGetFragDataIndex2 = Marshal.GetDelegateForFunctionPointer<GetFragDataIndexProc2>(handler("glGetFragDataIndex"));
glGenSamplers = Marshal.GetDelegateForFunctionPointer<GenSamplersProc>(handler("glGenSamplers"));
glGenSamplers1 = Marshal.GetDelegateForFunctionPointer<GenSamplersProc1>(handler("glGenSamplers"));
glGenSamplers2 = Marshal.GetDelegateForFunctionPointer<GenSamplersProc2>(handler("glGenSamplers"));
glDeleteSamplers = Marshal.GetDelegateForFunctionPointer<DeleteSamplersProc>(handler("glDeleteSamplers"));
glDeleteSamplers1 = Marshal.GetDelegateForFunctionPointer<DeleteSamplersProc1>(handler("glDeleteSamplers"));
glDeleteSamplers2 = Marshal.GetDelegateForFunctionPointer<DeleteSamplersProc2>(handler("glDeleteSamplers"));
glIsSampler = Marshal.GetDelegateForFunctionPointer<IsSamplerProc>(handler("glIsSampler"));
glBindSampler = Marshal.GetDelegateForFunctionPointer<BindSamplerProc>(handler("glBindSampler"));
glSamplerParameteri = Marshal.GetDelegateForFunctionPointer<SamplerParameteriProc>(handler("glSamplerParameteri"));
glSamplerParameteriv = Marshal.GetDelegateForFunctionPointer<SamplerParameterivProc>(handler("glSamplerParameteriv"));
glSamplerParameteriv1 = Marshal.GetDelegateForFunctionPointer<SamplerParameterivProc1>(handler("glSamplerParameteriv"));
glSamplerParameteriv2 = Marshal.GetDelegateForFunctionPointer<SamplerParameterivProc2>(handler("glSamplerParameteriv"));
glSamplerParameterf = Marshal.GetDelegateForFunctionPointer<SamplerParameterfProc>(handler("glSamplerParameterf"));
glSamplerParameterfv = Marshal.GetDelegateForFunctionPointer<SamplerParameterfvProc>(handler("glSamplerParameterfv"));
glSamplerParameterfv1 = Marshal.GetDelegateForFunctionPointer<SamplerParameterfvProc1>(handler("glSamplerParameterfv"));
glSamplerParameterfv2 = Marshal.GetDelegateForFunctionPointer<SamplerParameterfvProc2>(handler("glSamplerParameterfv"));
glSamplerParameterIiv = Marshal.GetDelegateForFunctionPointer<SamplerParameterIivProc>(handler("glSamplerParameterIiv"));
glSamplerParameterIiv1 = Marshal.GetDelegateForFunctionPointer<SamplerParameterIivProc1>(handler("glSamplerParameterIiv"));
glSamplerParameterIiv2 = Marshal.GetDelegateForFunctionPointer<SamplerParameterIivProc2>(handler("glSamplerParameterIiv"));
glSamplerParameterIuiv = Marshal.GetDelegateForFunctionPointer<SamplerParameterIuivProc>(handler("glSamplerParameterIuiv"));
glSamplerParameterIuiv1 = Marshal.GetDelegateForFunctionPointer<SamplerParameterIuivProc1>(handler("glSamplerParameterIuiv"));
glSamplerParameterIuiv2 = Marshal.GetDelegateForFunctionPointer<SamplerParameterIuivProc2>(handler("glSamplerParameterIuiv"));
glGetSamplerParameteriv = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterivProc>(handler("glGetSamplerParameteriv"));
glGetSamplerParameteriv1 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterivProc1>(handler("glGetSamplerParameteriv"));
glGetSamplerParameteriv2 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterivProc2>(handler("glGetSamplerParameteriv"));
glGetSamplerParameterIiv = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterIivProc>(handler("glGetSamplerParameterIiv"));
glGetSamplerParameterIiv1 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterIivProc1>(handler("glGetSamplerParameterIiv"));
glGetSamplerParameterIiv2 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterIivProc2>(handler("glGetSamplerParameterIiv"));
glGetSamplerParameterfv = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterfvProc>(handler("glGetSamplerParameterfv"));
glGetSamplerParameterfv1 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterfvProc1>(handler("glGetSamplerParameterfv"));
glGetSamplerParameterfv2 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterfvProc2>(handler("glGetSamplerParameterfv"));
glGetSamplerParameterIuiv = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterIuivProc>(handler("glGetSamplerParameterIuiv"));
glGetSamplerParameterIuiv1 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterIuivProc1>(handler("glGetSamplerParameterIuiv"));
glGetSamplerParameterIuiv2 = Marshal.GetDelegateForFunctionPointer<GetSamplerParameterIuivProc2>(handler("glGetSamplerParameterIuiv"));
glQueryCounter = Marshal.GetDelegateForFunctionPointer<QueryCounterProc>(handler("glQueryCounter"));
glGetQueryObjecti64v = Marshal.GetDelegateForFunctionPointer<GetQueryObjecti64vProc>(handler("glGetQueryObjecti64v"));
glGetQueryObjecti64v1 = Marshal.GetDelegateForFunctionPointer<GetQueryObjecti64vProc1>(handler("glGetQueryObjecti64v"));
glGetQueryObjecti64v2 = Marshal.GetDelegateForFunctionPointer<GetQueryObjecti64vProc2>(handler("glGetQueryObjecti64v"));
glGetQueryObjectui64v = Marshal.GetDelegateForFunctionPointer<GetQueryObjectui64vProc>(handler("glGetQueryObjectui64v"));
glGetQueryObjectui64v1 = Marshal.GetDelegateForFunctionPointer<GetQueryObjectui64vProc1>(handler("glGetQueryObjectui64v"));
glGetQueryObjectui64v2 = Marshal.GetDelegateForFunctionPointer<GetQueryObjectui64vProc2>(handler("glGetQueryObjectui64v"));
glVertexAttribDivisor = Marshal.GetDelegateForFunctionPointer<VertexAttribDivisorProc>(handler("glVertexAttribDivisor"));
glVertexAttribP1ui = Marshal.GetDelegateForFunctionPointer<VertexAttribP1uiProc>(handler("glVertexAttribP1ui"));
glVertexAttribP1uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribP1uivProc>(handler("glVertexAttribP1uiv"));
glVertexAttribP1uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribP1uivProc1>(handler("glVertexAttribP1uiv"));
glVertexAttribP1uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribP1uivProc2>(handler("glVertexAttribP1uiv"));
glVertexAttribP2ui = Marshal.GetDelegateForFunctionPointer<VertexAttribP2uiProc>(handler("glVertexAttribP2ui"));
glVertexAttribP2uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribP2uivProc>(handler("glVertexAttribP2uiv"));
glVertexAttribP2uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribP2uivProc1>(handler("glVertexAttribP2uiv"));
glVertexAttribP2uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribP2uivProc2>(handler("glVertexAttribP2uiv"));
glVertexAttribP3ui = Marshal.GetDelegateForFunctionPointer<VertexAttribP3uiProc>(handler("glVertexAttribP3ui"));
glVertexAttribP3uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribP3uivProc>(handler("glVertexAttribP3uiv"));
glVertexAttribP3uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribP3uivProc1>(handler("glVertexAttribP3uiv"));
glVertexAttribP3uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribP3uivProc2>(handler("glVertexAttribP3uiv"));
glVertexAttribP4ui = Marshal.GetDelegateForFunctionPointer<VertexAttribP4uiProc>(handler("glVertexAttribP4ui"));
glVertexAttribP4uiv = Marshal.GetDelegateForFunctionPointer<VertexAttribP4uivProc>(handler("glVertexAttribP4uiv"));
glVertexAttribP4uiv1 = Marshal.GetDelegateForFunctionPointer<VertexAttribP4uivProc1>(handler("glVertexAttribP4uiv"));
glVertexAttribP4uiv2 = Marshal.GetDelegateForFunctionPointer<VertexAttribP4uivProc2>(handler("glVertexAttribP4uiv"));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment